我最近更新到 Mongodb 2.2.0,发现下面的查询现在不再有效。
数据库为空,我运行以下命令:
db.Sessions.update({_id:"test",sessions:{$not:{$elemMatch:{type:"Web"}}}},{$push:{sessions:{type:"Web",dateAdded:new Date}}},true)
返回错误:
Cannot apply $push/$pushAll modifier to non-array
在更新之前,将创建以下文档:
{ "_id" : "test", "sessions" : [ { "type" : "Web", "dateAdded" : ISODate("2012-09-12T15:11:11.942Z") } ] }
有任何想法吗?
编辑: 我忘了提,在这个版本中添加了 $not ,因为以下工作正常,所以数组/字段不存在不是问题。
db.Sessions.update({_id:"test"},{$push:{sessions:{type:"Web",dateAdded:new Date}}},true)