0

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

我看到了两个数组: first_array = [bob, gary, john] last_array = [smith, evans, johnson]

两个数组中的名字和姓氏之间存在一一对应关系。我想查找 BobSmith、GaryEvans 和 JohnJohnson 的记录。

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

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

4

1 回答 1

2
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-11-14T00:57:52.167 回答