【问题标题】:How to search for two fields in two arrays in mongodb nodejs如何在mongodb nodejs中搜索两个数组中的两个字段
【发布时间】:2013-11-14 00:47:24
【问题描述】:

我的 mongodb 记录中的两个字段是:第一个和最后一个

我看到了两个数组: first_array = [鲍勃,加里,约翰] last_array = [史密斯,埃文斯,约翰逊]

两个数组中的名字和姓氏是一一对应的。我想查找 BobSmith、GaryEvans 和 JohnJohnson 的记录。

find({first:{$in:first_array}}) 将查找匹配名字但不匹配姓氏的所有记录 find({last:{$in:last_array}}) 将查找匹配姓氏但不匹配名字的所有记录 find({first:{$in:first_array}, last:{$in:last_array}}) 会查找我的所有记录,但它也会查找 BobEvans 和 GarySmith 等记录(如果存在)

提前感谢您的任何建议, 加里

【问题讨论】:

  • 你确实有能力将两个数组转换成另一个结构,对吧?
  • 是的,您的解决方案非常适合我,谢谢。

标签: arrays node.js mongodb


【解决方案1】:
where = {};
where["$or"] = [ ];
for (i=0; i<first_array.length; i++) {
    where["$or"].push( {"first": first_array[i], "last":last_array[i]} );
}

db.collection(where)

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 2016-02-28
    • 2020-04-13
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多