mongoose 查找 _id 在对象数组中的位置

问题描述 投票:0回答:1

我的代码中有以下变量:

const data = [
   { _id: "66324310da5f0f7575da0292", from: "66324110da5f0f7275cd8949" }, 
   { _id: "66324350sa5f0sdd575da0s92", from: "62a34303530f3275c3d99" }
]

我想找到

_id
等于
from
变量中任何
data
值的所有用户。我遇到的问题是
data
是一个对象数组,我想根据数组中所有对象的
from
属性进行查询。

我尝试过以下代码:

User.updateMany({_id: {$in: data})

但是,这不起作用,因为它没有专门检查

from
属性,并且
data
是一个对象数组。

我还有其他方法可以实现这一目标吗?谢谢。

mongodb mongoose
1个回答
0
投票

您可以使用 JavaScript

map
函数:

User.updateMany({_id: {$in: data.map((x) => x.from)})

这将为查询创建一个新列表,其中仅包含每个对象的

from
属性。

© www.soinside.com 2019 - 2024. All rights reserved.