MongoDB的常用基础查询命令备忘录
写在前面的话
- 本文只记录常用的基础查询命令,并不全面,但是常用;另外也不涉及游标和limit 、skip和sort等,这些东西我会单独写一篇。
- 本文的定位是备忘录,所以不建议用作初次学习使用,而是作为备忘录使用。
- 新增、修改、删除的命令,该MongoDB专栏下有单独的博文。
- 代码中的foo是我的测试集合名
上代码!!!
//查询所有文档
db.foo.find();
db.foo.find({});
//查询名字为jk的文档
db.foo.find({"name":"jk"});
//查询名字为jk且年龄为30的文档
db.foo.find({"name":"jk","age":30});
// 查询所有文档,只显示name(需要注意的是,_id会自动显示)
db.foo.find({},{"name":1});
//查询所有文档,不显示_id
db.foo.find({},{"_id":0});
//比较条件
db.foo.find({"age":{"$lt":31}}); //年龄小于31
db.foo.find({"age":{"$lte":30}}); //年龄小于等于30
db.foo.find({"age":{"$gt":29}});/ /年龄大于29
db.foo.find({"age":{"$gte":30}}); //年龄大于等于30
db.foo.find({"age":{"$ne":30}}); //年龄不等于30
//范围查询
db.foo.find({"age":{"$in":[30,31]}}); //年龄在30,31中
db.foo.find({"age":{"$nin":[30,31]}}); // 年龄不在30,31中
//逻辑或查询
db.foo.find({"$or":[{"age":30},{"name":"json"}]});//年龄为30或者名字为json
//取模查询
db.foo.find({"age":{"$mod":[5,1]}});//查询年龄除5取模为1的
//逻辑非查询
db.foo.find({"age":{"$not":{"$mod":[5,1]}}});
//查询年龄为null的(会将没有年龄这个属性的文档也查出来)
db.foo.find({"age":null});
//查询年龄为null且存在年龄这个属性的文档
db.foo.find({"age":{"$in":[null],"$exists":true}});
//正则表达式
db.foo.find({"name":/jk/i});
//查询books数组中包含yyy的
db.foo.find({"books":"yyy"});
//查询books数组中同时包含"125626","oh my god1","yyy"的文档
db.foo.find({"books":{"$all":["125626","oh my god1","yyy"]}});
//查询books数组第一个元素是125626的文档
db.foo.find({"books.0":"125626"});
//查询books数组的长度为3的文档
db.foo.find({"books":{"$size":3}});
版权声明:本文为qq_43222869原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。