반응형
Mongoose에서 고유 한 값을 어떻게 쿼리합니까?
컬렉션에 대한 모든 고유 한 도시를 가져올 수있는 문제가 있는데 내 코드는 다음과 같습니다.
var mongoose = require("mongoose"),
Schema = mongoose.Schema;
var PersonSchema = new Schema({
name: String,
born_in_city: String
});
var Person = mongoose.model('Person', PersonSchema);
네이티브 MongoDb에서는 그냥 할 수 db.person.distinct("born_in_city")
있지만 Mongoose와 동등한 것은없는 것 같습니다. 이 작업을 수행하기 위해 모든 문서를 직접 반복하는 유일한 옵션입니까, 아니면 더 나은 솔루션이 있습니까?
node-mongodb-native
답변자가 제안한 기본을 사용하기 위해 다음을 시도했습니다.
mongoose.connection.db.collections(function(err, collections){
collections[0].distinct('born_in_city', function( err, results ){
console.log( err, results );
});
});
그러나 results
비어 있고 오류가 없습니다. 또한 collections
가능한 경우 반환되는 항목 을 필터링하는 것보다 이름으로 필요한 컬렉션 만 가져올 수 있기를 원합니다 .
Mongoose 3.x에 대한 업데이트를 제공합니다.
MyModel.find().distinct('_id', function(error, ids) {
// ids is an array of all ObjectIds
});
내 프로그램에서이 코드는 작동합니다.
Person.collection.distinct("born_in_city", function(error, results){
console.log(results);
});
node.js v0.4.7, mongoose 1.3.3 제작
나는 소스 코드를 읽었고 node-mongodb-native 드라이버가 클래스를 강화하는 것입니다. 그래서 연결 개체에. 따라서 mongoose.connect (mongodb : //)를 완료 한 후이 작업을 수행 할 수 있습니다.
if(mongoose.connections.length > 0) {
var nativeconn = mongoose.connections[0].conn;
nativeconn.person.distinct('born_in_city', function(error, results){
});
}
참고 URL : https://stackoverflow.com/questions/6043847/how-do-i-query-for-distinct-values-in-mongoose
반응형
'Programing' 카테고리의 다른 글
부울 C # 변수를 javascript 변수에 전달하고 true로 설정하려고합니다. (0) | 2020.12.04 |
---|---|
외부 소스 (예 : Excel, Word 등)에서 링크를 클릭 할 때 쿠키가 인식되지 않는 이유는 무엇입니까? (0) | 2020.12.04 |
활동에서 현재 활성화 된 모든 조각에 대한 참조를 얻는 방법이 있습니까? (0) | 2020.12.04 |
factory_girl 연관을 통해 레코드 찾기 또는 생성 (0) | 2020.12.04 |
자식 흐름 분기가 갈라졌습니다. (0) | 2020.12.04 |