2016-08-23 5 views
1

개인 정보 값이 '공개'인 컬렉션의 모든 객체 ID를 가져 오는 가장 빠른 방법을 찾고 있습니다. 이 이미지에서mongoose를 사용하여 저장된 값 확인

enter image description here

는 개인 정보의 값은 '대중', 그래서 노드 (이 예제 '57bc4b9f466fab7c099a3f94'에서) 나에게이 객체의 '_id'를 제공해야합니다.

내 시도 : 난 당신이 MongoDB의에 쿼리에 문제가 보는 것과

var mongoose = require('mongoose'); 

mongoose.connect('localhost:27017/databasename'); 

var Schema = mongoose.Schema; 

var collectionsNameSchema = new Schema({ 
    updated: {type: Date }, 
    privacy: { type: Object } 
}, {collection: 'spots'}); 
var collectionsNameData = mongoose.model('collectionsNameData', collectionsNameSchema); 

... 

collectionsNameData.find({privacy: 'public'}) 

답변

2

.

이렇게 해보십시오.

collectionsNameData.find({'privacy.value': 'public'}); 

이렇게하면 원하는 결과가 반환됩니다. find에서 두 번째 매개 변수로 projection을 사용하여 원하는 필드 만 반환 할 수도 있습니다. _id가 기본적으로 반환된다는 점에 유의하십시오.

희망이 도움이됩니다.

관련 문제