【发布时间】:2012-08-11 11:42:37
【问题描述】:
mongodb update with multi true 不会更新所有文档,而只是更新最初的 1 或 2 个文档。这是查询。是因为我使用的限制吗?无论如何,我删除了限制,它仍然没有更新匹配条件找到的所有 31 个文档。猫鼬更新语法有什么问题吗?
db.update({biztype:msg.biztype, 'g_location': {$near: [msg.lng, msg.lat], $maxDistance:10/111.12}},{
$push:{fromusers:{
ip: ip,
msg: msg.msg,
u_name: msg.name,
u_mobile: msg.mobile,
u_email: msg.email,
comment_date: new Date()
}}
}, false, true).
limit(10);
【问题讨论】:
-
您的意思是当您使用该过滤器运行查询时会返回 31 个文档?哪些是正在更新的?
-
这似乎在 shell 中而不是使用 Mongoose?
db.update是错字吗(缺少集合名称)? -
@Asya,前 2 个文档正在更新中。有时只更新第一个。
-
@JohnnyHK,在将其发布到 SO 之前,我将模型名称更改为 db。实际上这是从我的 node.js 应用程序中获取的代码。好吧,而不是分贝。您可以将其更改为 someModel。