mongodb日常操作(查询)

php中文网
发布: 2016-06-07 14:58:30
原创
1312人浏览过

mongodb日常操作(查询) 首先介绍日常增,删,改,查询: 1:查询 show collections ----查看数据库下的集合 db.collection-name.find() --------最基础的查询db后面直接跟集合的名称,不能完全显示真个集合的数据,可以用it显示 db.collection-name.findOn

mongodb日常操作(查询)

 

首先介绍日常增,删,改,查询:

1:查询

show collections  ----查看数据库下的集合

db.collection-name.find()    --------最基础的查询db后面直接跟集合的名称,不能完全显示真个集合的数据,可以用it显示

db.collection-name.findOne()   ----------一定要注意大写,返回集合的第一条记录,如果没数据,是NULL

db.collection-name.find().forEach(printjson);可以显示所有行

条件查询:

举例:> db.post.find();

{ "_id" : ObjectId("4eae0669b81d17242113d9c4"), "name" : "docments" }

{ "_id" : ObjectId("4eae067ab81d17242113d9c5"), "age" : 60 }

db.post.find({age:60}).forEach(printjson); ==select * from post where age=60  ------显示所有age为60的doc

db.post.find({age:60},{name:true}).forEach(printjson) ==select name from post where age=60  ---显示age为60的所有name列

 db.post.find().limit(3)==select * from where rownum

db.post.update({name:"docments"},{$set:{name:"newdoc"}}) ----更新name=”docments“的记录为name=“newdoc”只更新第一行

db.post.remove({name:"newdoc"})  ==delete from post where name="newdoc"; 

 条件操作查询:

db.collection.find({ "field" : { $gt: value } } ); // 大于: field > value

db.collection.find({ "field" : { $lt: value } } ); // 小于: field

db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value

db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field

db.collection.find({"field":{$ne:value}});//不等于:field!=value

db.users.find({age : {$all : [20, 30]}});

可以查询出 {name: 'David', age: 26, age: [ 20, 30, 40 ] }

但查询不出 {name: 'David', age: 26, age: [ 20, 7, 9 ] }

db.users.find({age: {$exists: true}});  ---查询存在sge字段的记录

db.post.find({age: {$exists: false}}); --查询不包含age字段的记录

db.post.insert({name:"docments",age:null})

 db.post.find({age:null})查询age为null的记录

{ "_id" : ObjectId("4eae0a2eb81d17242113d9cb"), "name" : "docments", "newname" : "newdoc" }

{ "_id" : ObjectId("4eb89d1023c8705b173a80f0"), "name" : "docments", "age" : null }

可以看到没有age的记录也会显示

db.post.find({age:{"$in":[null], "$exists":true}})这样就可以查到age为null的记录

db.post.find({age: {$mod : [ 7, 4 ] } })取模7,余下4的记录 select * from post where mod(age,7)=4

db.post.find({age: {$not:{$mod : [ 7, 4 ]} } }) == select * from post where mod(age,7)!=4

{ "_id" : ObjectId("4eae067ab81d17242113d9c5"), "age" : 60, "name" : "hank" }

db.post.find({name:/doc/i}) #忽略大小写

查询x 的值在2,4,6 范围内的数据

db.things.find({x:{$in: [2,4,6]}});==select * from things where x in(2,4,6);

db.post.find({age:{$nin:[60,70]}})==select * from post where age not in(60,70)  --这里其实和null一样的,如果没有age这个key的,也会显示出来

$size 匹配数组里面的个数

{ "_id" : ObjectId("4eb8c06823c8705b173a80fa"), "num" : [ 1, 2, 3 ] }

db.post.find({num:{$size:3}}) ----可以查看到上面的记录

db.post.find().count() ---统计记录数

db.post.find({name:/^d/i}) --匹配name首字母为d的记录,后面加了i,大小写都显示

db.post.find().skip(3).limit(2) --跳过3条记录后,显示前两条

db.post.find()sort({age:-1})--按照age降序排列,升序是1

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号