我收藏了一个字符串列表:
{
"_id" : "87df7fd8f7df",
"spaces" : [
"45dfsdf5646sdf44fd",
"5d4fdf885sahg6f6fg"
],
}
我尝试用这样的对象列表替换:
{
"_id" : "ytry45rty4r4y",
"spaces" : [
{
"id" : "123",
"role" : ""
},
{
"id" : "321",
"role" : ""
},
}
请帮我创建一个脚本。
答案 0 :(得分:0)
你能做的最简单的事就是在mongo shell中运行这样的东西。 问题不明确,无法理解你想要做什么映射,但一般代码看起来像这样:
db.testCollection.find().snapshot().forEach(function (elem) {
if (!(elem && elem.spaces && elem.spaces.length && typeof elem.spaces[0] === 'string')) {
print('Unable to update object: ' + elem._id.toString());
return;
}
var spaceObjects = elem.spaces.map(function (string) {
return {
id: string,
role: ''
};
});
db.testCollection.update({_id: elem._id},
{
$set: {spaces: spaceObjects}
}
);
});