mongodb - 如何使用 $project 添加常量的新字段?

标签 mongodb mongodb-query aggregation-framework

来自 doc :

The $addFields stage is equivalent to a $project stage that explicitly specifies all existing fields in the input documents and adds the new fields.

但是如果我写:

db.projects.aggregate(
        {
            $project: {             
                count: 1            
            }
        }  
)

此代码不会向结果添加计数。

对比:

   db.projects.aggregate(
            {
                $addFields: {               
                    count: 1            
                }
            }  
    )

这会将 count 字段添加到结果中。

如何使用 $project 向结果添加新字段?我认为这是可能的,因为它是等价的。

最佳答案

您需要使用 $literal对于这个任务:

db.projects.aggregate(
    {
        $project: {
            count: { $literal : 1 }
        }
    }
)

关于mongodb - 如何使用 $project 添加常量的新字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45547686/

相关文章:

mongodb - mongodb的基于Web的UI

php - 如何在 laravel 5.7 中测试 mongo 连接?

mongodb - 为什么 mongo 不允许在另一个 $facet 中使用 $facet 阶段?

node.js - 使用聚合框架转换具有两个嵌套文档的文档

javascript - 将 Mongoose 聚合函数返回 Angular

mongodb - Docker 和 mongo-go-driver "server selection error"

mongodb - 我如何使用 like 运算符在 mongodb 中查询

c# - MongoDb 3.4 C# 驱动程序 - 如何使用 C# 驱动程序创建等效聚合查询

MongoDb 访问具有特定属性的对象数组

javascript - 计算上周的活跃用户数?