Mongoose查询用于获取包含与列表中的任何字符串匹配的字符串数组的所有结果

时间:2015-11-20 03:19:40

标签: node.js mongodb mongoose

想象一下,我在Mongoose中的对象中有一个数组。例如,一个帐户有许多别名:

别名:[“a”,“b”,“c”,“d”]

现在,想象一下,我想找到所有包含“a”或“c”作为其别名之一的帐户。

你如何在mongoose / mongodb中这样做?我知道您可以使用$ regex查找具有“a”或“c”之一的帐户,但是如何为任意匹配列表执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以使用$in运算符

db.accounts.find({aliases: {$in: ["a", "c"]}});

答案 1 :(得分:-1)

我使用c#驱动程序编写linq,

   IMongoQuery mongoQuery = Query<YourEntity>.Where(a => a.Aliases.Contains("a") || a.Aliases.Contains("c"));

        var str1 = mongoQuery.ToString(); 

这是由司机翻译

{&#34; $或&#34; :[{&#34;别名&#34; :&#34; a&#34; },{&#34;别名&#34; :&#34; c&#34; }]}