2016-10-22 3 views
0

나는 내 컬렉션에 질의하고이 UID 년대가 4 개 항목을 반환 할 4 개 개체 항목 ...방법 MongoDB를

myArray = > [{uid : 'test'},{uid : 'test2'},{uid : 'test3'},{uid : 'test4'}] 

ProductCollection.find({????},(err,result)=>{}) 

참고 배열을 가지고에 배열 컬렉션에 쿼리하기 : 내가 해달라고

답변

0

내가

내가 그이 DB를 여러 번 쿼리 관련이 가정합니다 어떤 루프를 사용하여 원하는 해달라고 어떤 루프를 하나의 F를 사용합니다 또는 각각 uid 값입니다.

어쨌든, 당신은 MongoDB의의 $in operator 사용하여 귀하의 경우처럼 값의 배열과 일치하는 요소를 필터링 한 번 데이터베이스에 갈 수 있습니다.

그러나 uid 값을 객체 배열 대신 객체 배열로 직접 배열해야합니다. 이는 간단한 .map 호출로 수행 할 수 있습니다 (이 루프를 고려할 지 모르겠 음). 필터 값을 올바른 형식으로 가져옵니다.

var uids = myArray.map((item) => item.uid }) 
// ['test', 'test2', 'test3', 'test4'] 

그리고 그 후이 UID를 사용하여 DB를 조회 할 수는

ProductCollection.find({'uid': {'$in': uids} },(err,result)=>{}) 

값 ('uid' 가정 그것은 당신이 기준으로 필터링하려는 당신이 당신의 ProductCollection에있는 속성)