我有一个 MongoDB 文档,如下所示:
"sport": "NFL",
"team_id": 5,
"week_num": 6,
"meta": {
.... more data ....,
"season_year": 2013
}
我想要做的是将season_year
key/val复制到“顶级”文档,同时将其嵌入到meta
哈希中。因此它会被重复,最终结果将如下所示:
"sport": "NFL",
"team_id": 5,
"week_num": 6,
"season_year": 2013,
"meta": {
.... more data ....,
"season_year": 2013
}
是否有一种简单的方法可以使用上述逻辑更新我的集合中的所有文档?我正在使用 MongoDB shell 版本:2.4.3
最佳答案
问题是在更新过程中,您无法引用正在更新的文档。所以你无法在一次查询中达到你想要的结果。
需要遍历所有文档并一一保存:
db.yourCollection.find({}).forEach(function(doc) {
doc.season_year = doc.meta.season_year;
db.yourCollection.save(doc);
});
关于javascript - 如何使用此条件更新 MongoDB 中的约 20,000 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824759/