📜  运算符返回 mongodb 查询的特定数据 - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:54.614000             🧑  作者: Mango

以运算符返回 MongoDB 查询的特定数据 - JavaScript

在 MongoDB 中,我们可以使用运算符(operators)来进行更精细化的查询,例如比较数据大小、匹配字符串、查找文档中特定字段等等。

下面是一些常用的 MongoDB 运算符,以及它们在 JavaScript 中的使用方法。

等于运算符(equal)

等于运算符 $eq 用来匹配值和指定表达式相等的文档。

db.collection.find({ field: { $eq: value } })

例如,我们想要查找 users 数据集中 age 字段等于 18 的文档,可以这样做:

db.users.find({ age: { $eq: 18 } })
包含于运算符(in)

包含于运算符 $in 用来匹配指定值中任意一个符合的文档。

db.collection.find({ field: { $in: [value1, value2, ...] } })

例如,我们想要查找 products 数据集中 type 字段值为 fruitvegetable 的文档,可以这样做:

db.products.find({ type: { $in: ["fruit", "vegetable"] } })
不等于运算符(not equal)

不等于运算符 $ne 用来匹配其值与指定表达式不相等的文档。

db.collection.find({ field: { $ne: value } })

例如,我们想要查找 users 数据集中 gender 字段值不等于 M 的文档,可以这样做:

db.users.find({ gender: { $ne: "M" } })
小于运算符(less than)

小于运算符 $lt 用来匹配其值小于指定表达式的文档。

db.collection.find({ field: { $lt: value } })

例如,我们想要查找 products 数据集中 price 字段值小于 10 的文档,可以这样做:

db.products.find({ price: { $lt: 10 } })
小于或等于运算符(less than or equal to)

小于或等于运算符 $lte 用来匹配其值小于或等于指定表达式的文档。

db.collection.find({ field: { $lte: value } })

例如,我们想要查找 products 数据集中 price 字段值小于或等于 10 的文档,可以这样做:

db.products.find({ price: { $lte: 10 } })
大于运算符(greater than)

大于运算符 $gt 用来匹配其值大于指定表达式的文档。

db.collection.find({ field: { $gt: value } })

例如,我们想要查找 users 数据集中 age 字段值大于 18 的文档,可以这样做:

db.users.find({ age: { $gt: 18 } })
大于或等于运算符(greater than or equal to)

大于或等于运算符 $gte 用来匹配其值大于或等于指定表达式的文档。

db.collection.find({ field: { $gte: value } })

例如,我们想要查找 users 数据集中 age 字段值大于或等于 18 的文档,可以这样做:

db.users.find({ age: { $gte: 18 } })
正则表达式匹配运算符(regular expression)

正则表达式匹配运算符 $regex 用来匹配某个字段值是否符合指定的正则表达式。

db.collection.find({ field: { $regex: /pattern/ } })

例如,我们想要查找 users 数据集中 name 字段值以 J 开头的文档,可以这样做:

db.users.find({ name: { $regex: /^J/ } })

以上这些 MongoDB 运算符只是冰山一角,还有更多的运算符可以用来匹配复杂的文档数据。掌握这些运算符,可以让我们的查询更加高效精准。

参考链接: