MongoDB查询技巧总结及代码示例

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最重要的技能之一。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论