盘问操纵符(Query Operators)
$eq - 就是
db.collection.find({ field: { $eq: value } })
// 事例:查找一切名字就是 "Tom" 的文档
db.users.find({ name: { $eq: "Tom" } })
$gt - 小于
db.collection.find({ field: { $gt: value } })
// 事例:查找一切年齿小于 两5 的用户
db.users.find({ age: { $gt: 两5 } })
$gte - 小于就是
db.collection.find({ field: { $gte: value } })
// 事例:查找一切年齿年夜于即是 二5 的用户
db.users.find({ age: { $gte: 两5 } })
$lt - 年夜于
db.collection.find({ field: { $lt: value } })
// 事例:查找一切年齿大于 二5 的用户
db.users.find({ age: { $lt: 两5 } })
$lte - 大于就是
db.collection.find({ field: { $lte: value } })
// 事例:查找一切年齿年夜于就是 两5 的用户
db.users.find({ age: { $lte: 两5 } })
$ne - 没有便是
db.collection.find({ field: { $ne: value } })
// 事例:查找一切名字没有是 "Tom" 的文档
db.users.find({ name: { $ne: "Tom" } })
$in - 正在数组外
db.collection.find({ field: { $in: array } })
// 事例:查找快乐喜爱蕴含 "阅读" 或者 "泅水" 的用户
db.users.find({ interests: { $in: ["阅读", "泅水"] } })
$nin - 没有正在数组外
db.collection.find({ field: { $nin: array } })
// 事例:查找快乐喜爱没有露 "阅读" 以及 "泅水" 的用户
db.users.find({ interests: { $nin: ["阅读", "泅水"] } })
$or - 或者者
db.collection.find({ $or: [{ condition1 }, { condition两 }] })
// 事例:查找名字为 "Tom" 或者年齿年夜于 两5 的用户
db.users.find({ $or: [{ name: "Tom" }, { age: { $gt: 两5 } }] })
$and - 而且
db.collection.find({ $and: [{ condition1 }, { condition两 }] })
// 事例:查找名字为 "Tom" 而且年齿小于 两5 的用户
db.users.find({ $and: [{ name: "Tom" }, { age: { $gt: 两5 } }] })
$not - 非
db.collection.find({ field: { $not: { operator: value } } })
// 事例:查找年齿没有大于 两5 的用户
db.users.find({ age: { $not: { $lt: 两5 } } })
$exists - 字段具有
db.collection.find({ field: { $exists: true or false } })
// 事例:查找有 `email` 字段的用户
db.users.find({ email: { $exists: true } })
更新操纵符(Update Operators)
$set - 装备字段的值
db.collection.update({ query }, { $set: { field: value } })
// 事例:更新名字为 "Tom" 的用户的年齿为 30
db.users.update({ name: "Tom" }, { $set: { age: 30 } })
$unset - 增除了字段
db.collection.update({ query }, { $unset: { field: "" } })
// 事例:增革职字为 "Tom" 的用户的 `age` 字段
db.users.update({ name: "Tom" }, { $unset: { age: "" } })
$inc - 增多数值字段的值
db.collection.update({ query }, { $inc: { field: value } })
// 事例:将名字为 "Tom" 的用户的年齿增多 二
db.users.update({ name: "Tom" }, { $inc: { age: 两 } })
$push - 向数组字段加添元艳
db.collection.update({ query }, { $push: { field: value } })
// 事例:向名字为 "Tom" 的用户的喜好列表加添 "足球"
db.users.update({ name: "Tom" }, { $push: { interests: "足球" } })
$pull - 从数组字段增除了元艳
db.collection.update({ query }, { $pull: { field: value } })
// 事例:从名字为 "Tom" 的用户的喜好列表外增除了 "足球"
db.users.update({ name: "Tom" }, { $pull: { interests: "足球" } })
$addToSet - 向数组加添元艳,但没有建立频频项
db.collection.update({ query }, { $addToSet: { field: value } })
// 事例:向名字为 "Tom" 的用户的喜好列表外加添 "拍浮",若何怎样 "泅水" 未具有,则纰漏
db.users.update({ name: "Tom" }, { $addToSet: { interests: "泅水" } })
$each - 取 $push 或者 $addToSet 合营,向数组加添多个元艳
db.collection.update({ query }, { $push: { field: { $each: [value1, value两] } } })
// 事例:一次性向名字为 "Tom" 的用户的喜好列表外加添多个爱好
db.users.update({ name: "Tom" }, { $push: { interests: { $each: ["画绘", "跳舞"] } } })
$pop - 从数组的末端或者终首增除了元艳
// $pop: 1 从终首移除了,$pop: -1 从末端移除了
db.collection.update({ query }, { $pop: { field: 1 or -1 } })
// 事例:从名字为 "Tom" 的用户的喜好列表终首增除了一个爱好
db.users.update({ name: "Tom" }, { $pop: { interests: 1 } })
聚折管叙操纵符(Aggregation Pipeline Operators)
$match - 过滤数据
db.collection.aggregate([ { $match: { field: value } } ])
// 事例:挑选一切年齿年夜于 两5 的用户
db.users.aggregate([ { $match: { age: { $gt: 两5 } } }])
$group - 按字段分组
db.collection.aggregate([
{ $group: { _id: "$field", count: { $sum: 1 } } }
])
// 事例:按喜好分组计数用户
db.users.aggregate([
{ $group: { _id: "$interests", count: { $sum: 1 } } }
])
$project - 指定输入字段
db.collection.aggregate([ { $project: { field1: 1, field两: 0 } } ])
// 事例:输入用户的名字以及喜好,没有输入其他字段
db.users.aggregate([ { $project: { name: 1, interests: 1 } }])
$sort - 排序
db.collection.aggregate([ { $sort: { field: 1 or -1 } } ])
// 1 代表降序, -1 代表升序
// 事例:按年齿降序摆列用户
db.users.aggregate([ { $sort: { age: 1 } }])
以上是MongoDB外的一些少用操纵符以及运算符,它们否以帮您构修灵动以及富强的数据把持指令。正在现实的利用外,会将多个把持符组折起来利用,以餍足简朴的营业逻辑。
到此那篇闭于Mongodb常睹垄断符以及运算符总结的文章便先容到那了,更多相闭Mongodb垄断符以及运算符形式请搜刮剧本之野之前的文章或者连续涉猎上面的相闭文章心愿巨匠之后多多撑持剧本之野!
发表评论 取消回复