想象一下--我有一个集合,它有一个特殊的映射。
假装:
{
"field": "lala",
"subdoc": {
"otherfield": "la",
"etcfield": "la"
}
}
我需要把它转换成不同的数据结构:
{
"field-gets-renamed": "lala",
"subdoc-has-different-stuff-in-it": {
"something": "la",
"something-else": "la"
}
}
典型的做法是什么?(有吗?)
我是否逐条阅读collection1并将其写入其他集合?
还是有办法重新映射collection1中的字段?
我非常感谢一些例子,因为我是MongoDB的新手。
最佳答案
你应该利用$rename operator
在你的情况下是:
db.collectionName.update({}, { $rename : { 'field' : 'field123', 'subdoc' : 'subdoc123', 'subdoc.otherfield' : 'subdoc.otherfield123', 'subdoc.etcfield' : 'subdoc.etcfield123'} }, false, true);
我还没有测试过上面的命令。
关于mongodb - 如何重新映射mongodb集合的字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34340663/