Mongoose / Mongo错误地在数组对象中创建_id属性

时间:2014-08-12 15:02:07

标签: node.js mongodb mongoose

嗨,大家好,这是问题:

我有一个mongoose架构,如下所示:

TopicSchema = new Schema({
    topic_id: {type : String, required: true, index: true, unique: true, trim : true},
    title: {type : String, required: true, trim : true},
    path: [{topic_id: {type: String, index:true}, title: {type: String}}],
})

正如您所看到的,path属性由一个包含具有两个属性的对象的数组组成:topic_id和title。问题是当我进行更新操作时,mongodb或mongoose正在这些对象中创建一个名为_id的第三个字段。

以下是更新的显示方式:

1)创建一个javascript数组:var path = [{topic_id:“Arrow”,title:“Episode 1”}]

2)更新:

Topic.update({_id: topic._id}, {$set: {path: path}}, function(err, updatedTopic){
    if(err){ callback(err); console.log("Error while updating: ", topic._id) }
})

当我检查数据库时,路径属性如下所示:{topic_id:“箭头”,标题:“第1集”,_id:Object_id(“XXXXXXXX”)}正如您所见,它会无处不在地创建一个_id属性。

我尝试修改模型属性名称,通过mongoose .save()和findByIdAndUpdate进行更新,我仍然得到相同的结果。

感谢您的帮助。

0 个答案:

没有答案