mongodb 條件查詢


1. 查詢所有記錄:

db.user.find()
相當於:select * from user;

2. 查詢 age = 20 的記錄:

db.user.find({age:20})
相當於:select * from user where age = 20;

3. 查詢 age > 20 的記錄:

db.user.find({age:{$gt:20}})
相當於:select * from user where age > 20;

4. 查詢 age < 20 的記錄:

db.user.find({age:{$lt:20}})
相當於:select * from user where age < 20;

5. 查詢 age >= 20 的記錄:

db.user.find({age:{$gte:20}})
相當於:select * from user where age >= 20;

6. 查詢 age <= 20 的記錄:

db.user.find({age:{$lte:20}})
相當於:select * from user where age <= 20;

7. 查詢 age >= 20 並且  age <= 30 的記錄:

db.user.find({age:{$gte:20,$lte:30}})

8. 查詢 name 中包含 '張' 的數據: (模糊查詢):

db.user.find({name:/張/})
相當於:select * from user where name like ‘%mongo%’;

9. 查詢 name 中 以 '張' 開頭的數據:

db.user.find({name:/^張/})
相當於:select * from user where name like ‘mongo%’;

10.查詢 name 中 以 '張'結尾的數據:

db.user.find({name:/張$/})
相當於:select * from user where name like ‘%mongo’;

11.查詢指定列數據:

db.user.find({},{name:1})  // 查詢 name 列數據 第一個字段為查詢條件
相當於:select name from user;

注:name 也可用 true 或 false 來表示,為 true 時,與 name:1 效果一樣,false 則表示排除 name ,顯示 name 以外的列信息

 12.查詢指定列,name,age數據,且 age  > 20

db.user.find({age:{$gt:20}},{name:true,age:true})
相當於:select name,age from user where age > 20;

13. 升序、降序排列:

升序:
db.user.find().sort({age:1}) // 以 age 為標准
降序:
db.user.find().sort({age:-1})

14. 查詢前5條數據:

db.user.find().limit(5)
相當於:selecttop 5 * from user;

15. 查詢后10條數據:

db.user.find().skip(10)
相當於:selecttop * from user where id not in(selecttop 10 * from user);

16.查詢 5-10之間的數據:

db.user.find().limit(10).skip(5)   // 10 之前,5之后,即 5-10 之間
// 可用於分頁,limit 是 pageSize,skip 是第幾頁 * pageSize

 17.查詢 age = 28,或者 age = 29 的數據:

db.user.find({$or:[{age:28},{age:29}]})
相當於:select * from user where age = 28 or age = 29;

18.查詢第一條數據:

db.user.findOne()

19.統計查詢到的數據的數量:

db.user.find().count()

20.統計 age > 20 的數據的數量:

db.user.find({age:{$gt:20}}).count()

如果,想以比較易讀的方式查找數據,可以在最后面添加 pretty()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM