0
我有以下模式:更新子对象与node.js的
friends: [{
user: { type : mongoose.Schema.Types.ObjectId, ref : 'User' },
read: Boolean,
accepted: Boolean
}]
我想更新读取场。我有以下查询:
User.update({_id: user._id,
"friends.$._id": {$in: data.friends}
},
{ $set: { "friends.$.read": true }},
false,
true,
function(err, obj)
console.log(obj);
}
);
能正常工作的一个文件,但是当我有两个或更多的文件,只有第一个变化。
例如:
[{
user: 'user1',
read: true,
accepted: false
},
{
user: 'user2',
read: false,
accepted: false
}]
仅改变用户1。
看来他在使用Mongoose,而您引用了node-mongo-native doc。那么,它仍然适用,虽然:) – yaoxing 2014-10-27 02:23:32
@yaoxing谢谢你指出了!正如我所说,我不是一个专家,但它似乎与我的第二个查询不太远:http://mongoosejs.com/docs/2.7.x/docs/updating-documents.html;) – jbihan 2014-10-27 12:09:42
嗯,我猜是什么他的意思是他需要更新字段“friends”中的每个元素。恐怕这是不可能的。查看[JIRA问题](https://jira.mongodb.org/browse/SERVER-1243) – yaoxing 2014-10-28 02:01:39