首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在集合中查询与数组中列出的任何值匹配的文档?

在集合中查询与数组中列出的任何值匹配的文档?
EN

Stack Overflow用户
提问于 2021-10-07 18:25:52
回答 1查看 34关注 0票数 0

我现在有一个集合Raffle,其中每个文档都包含一个raffle_iduser_id。此集合包含一个用户购买的抽奖票,因此每个用户可以为许多不同的抽奖者提供多张彩票。我已经查询了这个集合,以返回所有匹配我传入的特定id的raffle_id,因此,如果我有10个不同的抽签,并且我假设只询问属于“赢得一个全新项链”抽奖的票,我只会收到这些条目(而不是属于“赢得一辆新车”的门票)。数组包含用户的id。

例如:

代码语言:javascript
复制
myArr[0] = "104abc191";
myArr[1] = "134gkd131";
...
myArr[n] = "404fdc259";

由于这个数组包含输入特定抽奖的不同用户,它的大小可以是非常大的、非常小的,或者介于两者之间。

由于我只有表示用户id的字符串数组,所以我希望能够根据这些id查询我的User集合,以查找用户的其他信息(电子邮件、电话等)。如何在集合中查询与数组中任何id匹配的文档?

我想做一些类似于以下的事情:

代码语言:javascript
复制
User.find({ $or: [{ "id": myArr[0] }, { "id": myArr[1] }, ..., { "id": myArr[n] });

我不确定我是否可以在$or数组中包含两个以上的条件(我假设是的),但是这似乎不太实际,因为我的搜索标准可能非常大,这取决于有多少不同的用户已经输入了这个特定的抽奖。

我是否能够使用“如果集合包含与给定数组中任何值相匹配的id的文档,将它们添加到要返回的数组中”之类的内容来查询集合?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-07 18:30:25

$in (https://docs.mongodb.com/manual/reference/operator/query/in/)怎么样?

代码语言:javascript
复制
User.find({ id: { $in: myArr }});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69486113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档