我在mongodb中有一个文档,其中包含一些数组。现在,我需要一个包含此数组的大量项目的字段。因此,我需要更新添加此字段的文档。我只是简单地认为这可以工作:
db.myDocument.update({
"itemsTotal": {
$exists: false
},
"items": {
$exists: true
}
}, {
$set: {
itemsTotal: {
$size: "$items"
}
}
}, {
multi: true
})
Run Code Online (Sandbox Code Playgroud)
但是它以“ not okForStorage”完成。我也尝试进行聚合,但是会引发异常:
"errmsg" : "exception: invalid operator '$size'",
"code" : 15999,
"ok" : 0
Run Code Online (Sandbox Code Playgroud)
什么是最佳解决方案,我做错了什么?我开始考虑编写用于计算总数的Java工具并使用它更新文档。
Mongo中的Map Reduce很慢.这是给定的.所以,我想知道是否有可能收到地图减少进度通知.
谢谢.