2022MongoDB3-find用法
find({})第一个参数条件:
查询逻辑:
1查询一个集合中所有数据,默认显示顺序是按照录入的顺序显示的
db.users.find();
2显示一条数据,默认只显示自然序的第一条:
db.users.findOne();
3查询name=admin的数据
> db.users.find({"name":"admin"});
4查询年龄大于30的数据:
db.users.find({"age":{"$gt":30}});
5查询年龄大于等于30的数据:
db.users.find({"age":{"$gte":30}});
6查询年龄小于等于30的数据:
db.users.find({"age":{"$lte":30}});
7查询年龄小于30的数据:
db.users.find({"age":{"$lt":30}});
8查询年龄不等于30的数据:
db.users.find({"age":{"$ne":30}});
9查找年龄等于32的数据:
db.users.find({"age":{"$eq":32}});
10查询年龄大于30并且年龄小于40的数据:
du.users.find({"$and":[{},{}]}); db.users.find({"$and":[{"age":{"$gt":30}},{"age":{"$lt":40}}]});
11查询年龄小于30或者大于40的数据
db.users.find({"$or":[{},{}]}); db.users.find({"$or":[{"age":{"$lt":30}},{"age":{"$gt":40}}]});
12查询年龄小于30的用户或者查询年龄大于31的admin用户:
db.users.find({"$or":[{},{}]}) db.users.find({"$or":[{},{"$and":[]}]}) db.users.find({"$or":[{},{"$and":[{},{}]}]}) db.users.find({"$or":[{},{"$and":[{"name":"admin"},{"age":{"$gt":31}}]}]}) db.users.find({"$or":[{"age":{"$lt":30}},{"$and":[{"name":"admin"},{"age":{"$gt":31}}]}]});
13查询名字是admin并且年龄大于31的用户:
db.users.find({"age":{"$gt":31},"name":"admin"});
find({},{第二个参数})第二个参数投影:
什么叫投影?例如我从users表查询多个字段select id, name from users;
1查询年龄大于31名字为admin的用户,投影条件将name设为真:
> db.users.find({"age":{"$gt":31},"name":"admin"},{"name":1}); { "_id" : ObjectId("61d93287adfe46eefd559f2b"), "name" : "admin" } #投影条件是将age设为真 > db.users.find({"age":{"$gt":31},"name":"admin"},{"age":1}); { "_id" : ObjectId("61d93287adfe46eefd559f2b"), "age" : 32 } > #多个参数时,只有id可以取反投影(即设为假),其它字段不可以设为假 > db.users.find({"age":{"$gt":31},"name":"admin"},{"age":1,"_id":0}); { "age" : 32 } > #一个参数时,取反投影的字段不打印 > db.users.find({"age":{"$gt":31},"name":"admin"},{"age":0}); { "_id" : ObjectId("61d93287adfe46eefd559f2b"), "name" : "admin" } >
2find().pretty等价于findOne(),例如:
#插入一条信息 > db.users.insert({"name":"test","age":20,"gender":"male","hobbies":["eat","sleep"],"phone":13512765432}); WriteResult({ "nInserted" : 1 }) #find()查找 > db.users.find({"name":"test"}); { "_id" : ObjectId("61db9b12d16a4f490e1c825c"), "name" : "test", "age" : 20, "gender" : "male", "hobbies" : [ "eat", "sleep" ], "phone" : 13512765432 } > #find().pretty()可以美化输出格式 > db.users.find({"name":"test"}).pretty(); { "_id" : ObjectId("61db9b12d16a4f490e1c825c"), "name" : "test", "age" : 20, "gender" : "male", "hobbies" : [ "eat", "sleep" ], "phone" : 13512765432 } > #find().pretty()等价于findOne()s > db.users.findOne({"name":"test"}); { "_id" : ObjectId("61db9b12d16a4f490e1c825c"), "name" : "test", "age" : 20, "gender" : "male", "hobbies" : [ "eat", "sleep" ], "phone" : 13512765432 } >