[MONGODB] MongoDB를 $ 조회 OBJECTID GET 빈 배열?
MONGODBMongoDB를 $ 조회 OBJECTID GET 빈 배열?
나는 문서 다음 몽구스에서 $ 조회와 MongoDB를 연습 집계에 새로 온 사람, 그리고 난 질문이 정말 혼란 만났다.
나는 사용자 스키마를
const userSchema = new Schema({
userName: {type: String, index:{unique: true}},
password: String,
avatar: String
})
스키마를 언급
const commentSchema = new Schema({
post: {type: Schema.Types.ObjectId, ref:'postModel'},
author:{type: Schema.Types.ObjectId, ref:'userModel'},
content: String,
createTime: Date
})
및 모델 commentModel = mongoose.model ( 'commentModel', commentSchema) userModel mongoose.model = ( 'userModel'userSchema) 그리고 내가 할
commentModel.aggregate.([{$lookup: {
from: 'userModel',
localField: 'author',
foreignField: '_id',
as: 'common'
}])
하지만 난 쿼리에서 빈 일반적인를 얻을. DB의 데이터에 따르면,이 결과를 얻을 안된다. 난 여전히 실수 찾을 수없는 검색 한 후.
마지막으로, 나는 내가 참조 문서에 $ 조회를 사용해야하므로,이 말이 선량, 집계 방법을 사용해야합니까?
해결법
-
==============================
1.$ 조회의에서 필드 컬렉션 이름이 아닌 모델 변수 이름입니다. 이 같은 모델을 초기화하는 경우 그래서
$ 조회의에서 필드 컬렉션 이름이 아닌 모델 변수 이름입니다. 이 같은 모델을 초기화하는 경우 그래서
db.model('User', userSchema)
다음 검색 쿼리해야
commentModel.aggregate([{$lookup: { from: 'users', localField: 'author', foreignField: '_id', as: 'common' }])
from https://stackoverflow.com/questions/45481049/mongodb-lookup-objectid-get-empty-array by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 C # 드라이버 복귀 만 배열 하위 문서를 일치 (0) | 2019.12.27 |
---|---|
[MONGODB] 한 간행물은 다른 간행물에서 중첩 된 필드를 숨기고 (0) | 2019.12.27 |
[MONGODB] 파셜을로드하면 서버 JS 실패 (0) | 2019.12.27 |
[MONGODB] MongoDB를 사용하는 필터는 목록과 일치하는 (0) | 2019.12.27 |
[MONGODB] 배열 필드의 모든 값이 다른 배열에 존재 선택 문서 (0) | 2019.12.27 |