温馨提示×

MongoDB投影查询支持哪些操作符

小樊
84
2024-10-30 22:16:41
栏目: 云计算
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MongoDB中,投影查询主要用于指定返回文档中的哪些字段或计算字段。投影查询主要使用以下操作符:

  1. $project:用于指定返回的字段或计算字段。可以包含字段名、计算表达式或者字段路径。

    示例:

    db.collection.find({}, { "name": 1, "_id": 0 }) // 返回文档中的"name"字段,不返回"_id"字段
    
  2. $addFields / $set:用于向投影结果中添加新的字段或更新现有字段。

    示例:

    db.collection.find({}, { $addFields: { "age": 30 } }) // 添加新的"age"字段
    db.collection.find({}, { $set: { "age": 30 } }) // 更新现有的"age"字段
    
  3. $project$addFields / $set 的组合使用可以实现更复杂的字段操作,例如计算字段的值、条件性地包含或排除字段等。

    示例:

    db.collection.find({}, { $project: { "name": 1, "age": 1, "_id": 0 }, $addFields: { "isAdult": { $gt: ["$age", 18] } } }) // 返回"name""age"字段,添加新的"isAdult"字段,表示是否成年
    
  4. $expr:用于在投影查询中使用聚合表达式。

    示例:

    db.collection.find({}, { $project: { "name": 1, "isEvenAge": { $expr: { $eq: ["$age", { $mod: ["$age", 2] }] } } } }) // 返回"name"字段,添加新的"isEvenAge"字段,表示年龄是否为偶数
    

这些操作符可以组合使用,以实现更复杂的投影查询需求。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:MongoDB投影查询是否支持聚合操作

0