MongoDB是目前最流行的NoSQL数据库之一,这里总结了一些MongoDB常用的查询技巧。1. $or查询
db.col.find({ $or: [ {name: "John"}, {age: {$gt: 30}} ] })
匹配name为John或age大于30的文档。2. $in查询
db.col.find({ name: {$in: ["John", "Peter", "Mary"]} })
匹配name值为John、Peter或Mary的文档。3. $nin查询
db.col.find({ name: {$nin: ["John", "Peter", "Mary"]} })
匹配name值不为John、Peter或Mary的文档。4. $gt、$gte、$lt和$lte
db.col.find({age: {$gt: 50}}) // age > 50 db.col.find({age: {$gte: 50}}) // age >= 50 db.col.find({age: {$lt: 50}}) // age < 50 db.col.find({age: {$lte: 50}}) // age <= 50
用于匹配大于、大于等于、小于和小于等于给定值的文档。5. $exists
db.col.find({name: {$exists: true}}) // 包含name字段 db.col.find({name: {$exists: false}}) // 不包含name字段
用于匹配包含指定字段或不包含指定字段的文档。6. $mod
db.col.find({age: {$mod: [5, 0]}})
匹配age值能被5整除的文档。7. $text
db.col.find({$text: {$search: "coffee"}})
在文本索引的字段中搜索coffee,匹配包含该关键词的文档。8. $where
db.col.find({ $where: "function() { return this.name === 'John' && this.age > 30 }" })
使用JavaScript函数来过滤文档,更加灵活和强大。除此之外,MongoDB还支持正则表达式查询、数组查询、范围查询、字段存在查询等丰富的查询手段。MongoDB查询语言可以满足大部分实际业务场景下对数据的过滤与检索,理解并熟练掌握各种查询技巧也是MongoDB最重要的技能之一。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录