2014-02-12 1 views
1

몽구스 모듈과 함께 Node.js를 사용하고 문제가 발생했습니다. node.js, mongoose 여러 ID로 객체의 배열을 찾는 방법

나는 스키마 느릅 나무의 모형 [0] .ID 플러스 ID의 배열을 전달 내가 FB를 일치하는 컬렉션의 모든 개체를 찾을 수 있습니까 방법이

_id: '', 
foo: '', 
bar: '', 
fb: [{ 
    id: '' 
}] 

처럼 보이는이? ,

{'fb': {$in: [{id: friendsIDList}]} } 

그리고 심지어이

{'fb': {$in: {$in: friendsIDList}}} 

더 명확하게하려면 :

{'fb[0].id': {$in: friendsIDList}} 

그리고이 :

내가 시도 이것은 (() 쿼리를 다음과 방법을 찾을 수) 내가 fb 매개 변수에 자신의 FB 데이터를 포함하는 사용자 개체가 있지만 데이터가있는 하나의 개체를 포함하는 배열입니다. 이제 친구 ID 목록을 수신하고 모든 사용자 친구를 쿼리하려고합니다.

죄송합니다. 내 영어 btw.

답변

1

MongoDB에는 dot notation이라는 항목이 있으므로 'foo.0.id': 'id'으로 쿼리 할 수 ​​있습니다.

> db.users.insert({foo: 'foo', bar: 'bar', fb: [ { id: '456' } ]}) 
> db.users.find({'fb.0.id': '456'}).pretty() 
{ 
    "_id" : ObjectId("52fb695e403fb143985459dc"), 
    "foo" : "foo", 
    "bar" : "bar", 
    "fb" : [ 
     { 
      "id" : "456" 
     } 
    ] 
} 
+0

'fb.0.id'에서'0'의 중요성은 무엇인가 : 다음과 같이

은 테스트? – SharpCoder

+0

fb 속성의 배열에있는 첫 번째 객체의 id 속성입니다. 대부분의 프로그래밍 언어에서 fb [0] .id = 456을 수행하는 것과 같습니다. –

관련 문제