Mongodb更新查询删除除命令中指定的字段之外的所有数组字段

时间:2013-07-17 23:17:02

标签: node.js mongodb mongoose

我正在使用Node,MongoDB和Mongoose。我已经在setupdate上查看了MongoDB文档。我现在用Google搜索了一个多小时,我找到了围绕我的问题跳舞的主题,但没有确定的。 下面的查询更新了正确的字段,但它也完全删除了我未指定的数组中的其他字段。

db.posts.update( 
  { "_id" : { $exists : true }  },
  { $set : { userCreated : { "time" : new ISODate("2013-07-11T03:34:54Z") } } },
  false,
  true
)

这是我想要修改的架构部分:

},
userCreated: {
  id: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
  name: { type: String, default: '' },
  time: { type: Date, default: Date.now }
},

这就是出现的结果:

},
"userCreated": {
  "time": { ISODate("2013-07-11T03:34:54Z") }
},

1 个答案:

答案 0 :(得分:3)

您可以更新time的{​​{1}}属性,并使用点表示法保留其他属性:

userCreated