gpt4 book ai didi

javascript - 带有 $set 聚合、自引用和数组成员的 Mongo updateMany 给出空数组

转载 作者:行者123 更新时间:2023-12-04 10:14:26 24 4
gpt4 key购买 nike

使用 Mongo 4.2.5 和这个集合

db.foo.insert({foo:["bar", "baz"]})

当尝试将数组中的“baz”复制到 shell 中名为 fobaz 的新字段时:

db.foo.updateMany({}, [{$set:{foobaz: "$foo.1"}}])

我得到一个这样的对象

{
_id: fooid,
foo: ["bar", "baz"],
foobaz: []//empty array instead of "baz"
}

我究竟做错了什么 ?

最佳答案

您需要 $arrayElemAt$set需要聚合框架的数组访问语法:

db.foo.updateMany({}, [{$set:{foobaz: { $arrayElemAt: [ "$foo", 1 ] }}}])

关于javascript - 带有 $set 聚合、自引用和数组成员的 Mongo updateMany 给出空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143114/

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