gpt4 book ai didi

mongodb - 将元素从 $pull 移动到另一个数组

转载 作者:可可西里 更新时间:2023-11-01 10:44:05 25 4
gpt4 key购买 nike

我在同一个集合中有很多这样的文档:

{
"_id": ObjectId("4d525ab2924f0000000022ad"),
"array": [
{ id: 1, other: 23 },
{ id: 1, other: 21 },
{ id: 0, other: 235 },
{ id: 1, other: 765 }
],
"zeroes": []
}

我希望它们看起来像这样:

{
"_id": ObjectId("4d525ab2924f0000000022ad"),
"array": [
{ id: 1, other: 23 },
{ id: 1, other: 21 },
{ id: 1, other: 765 }
],
"zeroes": [
{ id: 0, other: 235 }
]
}

基本上,我希望能够从一个数组中提取一些元素,并将其插入另一个数组。我知道我可以使用 $pull 有条件地从数组中删除元素,但是是否可以重新定位这些拉取的元素?

最佳答案

不是真的。您可以使用光标进行这样的操作。

db.foo.find({}).forEach(function(doc) {
doc.zeros = doc.array.filter(function(x) { return x.id == 0 });
doc.array = doc.array.filter(function(x) { return x.id != 0 });
db.foo.save(doc)};
)

关于mongodb - 将元素从 $pull 移动到另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com