MongoDB中的查询

  MongoDB中文文档:http://docs.mongoing.com/manual-zh/contents.html

  这里以集合名称为test为例,数据库通过for循环插入一些测试数据,键分别为:name,age,date

  db.test.find()   查询所有的数据

  db.test.findOne()  查询一条数据,返回的是插入的第一条数据,这个后面不能再跟其他查询条件了,比如:db.test.findOne().sort({age:1}) ,会报:has no method ‘sort‘

  db.test.find({age:18}) 查询年龄为18的数据

  db.test.find({age:18})[0]  查询年龄为18的,结果文档中的索引为0的数据,MongoDB的查询返回的都是document文档(聚合函数除外...),所以可以这样取

  db.test.find().skip(1).limit(10).srot({age:1})  以age为正序排序(1为正序,-1为倒序),且取结果集的跳过第一条数据的(skip(1))的前十条数据

  db.test.find({},{name:1,age:1,date:-1})  查询所有的数据,结果集中的列只包含name、age,不包含:date。第一个中括号是查询的条件,给空表示查询所有 非_id字段:1为显示,-1为隐藏;_id字段:不指定为显示,指定0为隐藏

  db.test.find({age:{$gt:18}})  查询年龄大于18的所有信息,$gt为大于,$lt为小于

  db.test.find({age:{$in:[17,18,19]}})  查询age=17、18、19的数据,同sql的in

  插入两条数据,用于继续,多个sex键:

    db.test.insert({name:"testss",age:20,sex:1})

    db.test.insert({name:"tdfdaf",age:20,sex:0})

   db.test.find({age:{$lt:21},sex:1})  查询年龄小于21,并且性别为1的数据,也就是sql的and 查询

  db.test.find({$or:[{age:20},{sex:1}]}) 查询年龄为20,或者性别为1的数据,也就是sql的or查询

  db.test.find({age:{$lt:22},$or:[{age:20},{sex:1}]})  and 和 or 一起使用,多分析分析者三条语句,书写的格式也好记

  

时间: 2025-01-04 08:05:17

MongoDB中的查询的相关文章

MongoDB中关于查询条件中包括集合中字段的查询

要查询的数据结构例如以下: 以查询当中的versionLimitList字段为例 MongoOperations工具类查询相关语句 <pre name="code" class="java">Criteria criteria1 = Criteria.where("validStartTime").gt(new Date()). and("versionLimitList").elemMatch (Criteria

MongoDB中关于查询条件中包含集合中字段的查询

要查询的数据结构如下: 以查询其中的versionLimitList字段为例 MongoOperations工具类查询相关语句 <pre name="code" class="java">Criteria criteria1 = Criteria.where("validStartTime").gt(new Date()). and("versionLimitList").elemMatch (Criteria.w

mongodb 之慢查询

mongodb中慢查询日志 1.开启查询日志. (1)动态开启,可以选择性的对指定DB开启慢查询日志,但服务器重启后慢查询日志又要人工手动开启. db.setProfilingLevel(1,300) setProfilingLevel有两个参数,第一参数表示慢查询日志开关(可使用的值为0,1,2 0:表示关闭慢查询日志,1:表示开启慢查询日志,2:表示记录所有数据库中的查询), 第二个参数为慢查询阀值,单位是毫秒,默认情况下阀值为100ms. (2).配置文件中开启,永久生效.对所有的数据DB

PHP 从 MongoDb 中查询数据怎么样实现

一.软件环境(版本非必须) php v5.6 扩展:MongoDB nginx v1.11 mongodb v3.2 note: 必须安装MongoDB扩展 二.连接 $client = new MongoClient($server, $option); $server 变量是个字符串,描述要连接的服务器 mongodb://[username:[email protected]]host1[:port1][,host2[:port2:],...]/db 其中必要的是: username 数据

mongodb在java中的查询

mongodb 根据_id 查询记录: public Price queryPriceById(String id) throws Exception { return mongoTemplate.findById(new ObjectId(id), Price.class, PRICE_COLLECTION); } 根据集合中的某个字段查询: public Price queryPriceByName(String name) throws Exception { Price price =

MongoDB中常用的find

接着前一篇文章,下面主要介绍一下MongoDB中常用的find操作. 先打开MongoDB shell,通过下面一组命令插入一些数据. 1 post1 = {"title":"learn MongoDB", "author":"Wilber", "date":new Date(), "score":90} 2 post2 = {"title":"learn

MongoDB中的聚合操作

根据MongoDB的文档描述,在MongoDB的聚合操作中,有以下五个聚合命令. 其中,count.distinct和group会提供很基本的功能,至于其他的高级聚合功能(sum.average.max.min),就需要通过mapReduce来实现了. 在MongoDB2.2版本以后,引入了新的聚合框架(聚合管道,aggregation pipeline ,使用aggregate命令),是一种基于管道概念的数据聚合操作. Name Description count Counts the num

MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码

先来张在路上-- 此项目是用Maven创建的,没有使用Maven的,自己百度.谷歌去:直接用Junit测试就行,先执行里面的save方法,添加10000条测试数据提供各种聚合查询等. 废话不多说,上干货-- 一.MongoDB数据库的配置(mongodb.xml) 以下是我自己的配置,红色字体请改为自己本机的东东,你说不懂设置端口,不会创建数据库名称,不会配置用户名密码,那有请查阅本系列的第4节(MongoDB的使用学习之(四)权限设置--用户名.密码.端口==),你说懒得设置,那就@#¥%--

mongoDB常见的查询索引(三)

1. _id索引 _id索引是绝大多数集合默认建立的索引 对于每个插入的数据,MongoDB会自动生成一条唯一的_id字段. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > db.jerome_2.collection.insert({x:2}) WriteResult({ "nInserted" : 1 }) > db.jerome_2.collection.getIndexes() [     {         "v&quo