我可以用静态(非计算)值添加自定义字段吗?

我想在发送前准备对象,我需要删除一些包含内部信息的字段,并添加一些具有实体ID的字段.

例如,我有这样的对象集合"test"

{_id: ObjectId(...), data: {...}}

我需要把它转换成

{data: {...}, entity_id: 54}

那么,我如何添加实体_id:54而不在代码中循环结果呢?

db.test.aggregate({ $project: {_id: 0, data: 1, entity_id: ? } })

谢谢

推荐答案

注意,$literal是在Mongo 2.6中实现的.

db.test.aggregate(
   {$project: {_id: 0, data: 1, entity_id: {$literal: 54}}})

$literal.

Mongodb相关问答推荐

在MongoDB中是否可以按递增顺序更新多个文档?

从MongoDB中的嵌套数组中提取找到的值及其索引

在数组对象 Mongodb 中仅 Select 需要的数组

如何在 mongodb 查找的外键中使用正则表达式

按数组mongodb中的第一个元素排序

MongoDB C# 驱动程序 - 如何将 _id 存储为 ObjectId 但映射到字符串 Id 属性?

MongoDB 是否重用已删除的空间?

mongodb 模式设计命名约定

使用 mgo 存储嵌套 struct

从命令行创建 MongoDB 用户

在 Nodejs 中找不到模块

Mongoose 中不同集合的相同模式

MongoDB:在集合上设置 TTL 索引时出错: sessions

Mongoose 连接认证失败

MongoDb:如何将附加对象插入对象集合?

Mongodb KeyFile 太开放权限

docker 在不同的端口上运行 mongo 映像

在MongoDB中查询一个半​​径内的位置

Flask:设置应用程序和请求特定的属性?

验证 MongoCredential 的异常和未分类的 Mongo Db 异常