在我的应用程序中,我有一个名为的集合Blog,我每 24 小时运行一次此查询
await Blog.updateMany({}, [
{
$set: {
viewed: {
$add: [{ $size: "$visitorIps" }, "$viewed"]
},
visitorIps: []
}
}
]);
我的问题是我有一个名为Users. 在用户内部,我有一个名为的数组posts,这里保存了该用户的所有帖子。
{
_id: 234klj2ö34,
user: "Max",
posts: [
{
_id: 5dgewef323523,
name: "My first blogpost",
content: "...",
viewed: 0,
visitorIps: ["192.168.23.12"]
}
]
}
现在我需要对每个数组的第二个集合进行相同的查询。我该怎么做?我试过这样的事情,但没有用:
await User.updateMany({}, [
{
$set: {
"posts.$[].viewed: {
$add: [{ $size: "posts.$[].visitorIps" }, "posts.$[].viewed"]
},
"posts.$[].visitorIps": []
}
}
]);
但那是完全错误的。有人可以帮我吗?
侃侃无极
相关分类