[MONGODB] 어떻게 몽구스의 고유 값에 대한 쿼리는 무엇입니까?
MONGODB어떻게 몽구스의 고유 값에 대한 쿼리는 무엇입니까?
나는 모든 독특한 컬렉션의 도시,이 같은 내 코드의 외모 뭔가를 얻을 수있을하고자하는 문제가있다 :
var mongoose = require("mongoose"),
Schema = mongoose.Schema;
var PersonSchema = new Schema({
name: String,
born_in_city: String
});
var Person = mongoose.model('Person', PersonSchema);
기본 MongoDB를 나는 단지 ( "born_in_city") db.person.distinct을 할 수 있지만, 몽구스 아무것도 동등한있을 것 같지 않습니다. 이 작업을 수행 할 수있는 문서 나 자신의 모든 반복하는 유일한 방법은, 아니면 더 나은 솔루션이있다?
답변자에 의해 제안 기본 노드 MongoDB의 모국어를 사용하기 위해 나는이 일을 시도 :
mongoose.connection.db.collections(function(err, collections){
collections[0].distinct('born_in_city', function( err, results ){
console.log( err, results );
});
});
그러나 결과는 비어 있고 오류가 없습니다. 또한 이름 만이 필요한 수집을 가져 오기보다는 수집 가능한 모든에 경우 반환 무엇을 필터에 가질 수있을 것을 선호합니다.
해결법
-
==============================
1.그냥 몽구스 3.x에 대한 업데이 트를 제공합니다 :
그냥 몽구스 3.x에 대한 업데이 트를 제공합니다 :
MyModel.find().distinct('_id', function(error, ids) { // ids is an array of all ObjectIds });
-
==============================
2.내 프로그램에서이 코드는 작동합니다.
내 프로그램에서이 코드는 작동합니다.
Person.collection.distinct("born_in_city", function(error, results){ console.log(results); });
으로 Node.js를 v0.4.7, 몽구스 1.3.3
-
==============================
3.나는 소스 코드를 읽고 노드 MongoDB의 네이티브 드라이버는 어떤 능력 클래스입니다. 연결 개체에 따라서. 당신이 mongoose.connect했을 그래서 후 (MongoDB를 : //)이 탄 줄 수 있습니다.
나는 소스 코드를 읽고 노드 MongoDB의 네이티브 드라이버는 어떤 능력 클래스입니다. 연결 개체에 따라서. 당신이 mongoose.connect했을 그래서 후 (MongoDB를 : //)이 탄 줄 수 있습니다.
if(mongoose.connections.length > 0) { var nativeconn = mongoose.connections[0].conn; nativeconn.person.distinct('born_in_city', function(error, results){ }); }
from https://stackoverflow.com/questions/6043847/how-do-i-query-for-distinct-values-in-mongoose by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 고유 한 사용자 ID의 저장 순서에 MongoDB의 자동 증가 (0) | 2019.12.04 |
---|---|
[MONGODB] MongoDB를이 - $ 크기에 대한 인수는 배열해야하지만 유형이었다 EòÒ / 실종 (0) | 2019.12.04 |
[MONGODB] MongoDB의 전체 및 부분 텍스트 검색 (0) | 2019.12.04 |
[MONGODB] 어레이 내 요소 MongoDB에 의해 기 (0) | 2019.12.04 |
[MONGODB] 하지 덮어 쓰기 모델은 한 번 몽구스를 컴파일 할 수 (0) | 2019.12.04 |