student
다음과 같이 컬렉션에있는 하나의 문서를 가정 합니다.
{
_id:{
time: 1
loc: 'A'
},
name: 'Jery'
}
다음 _id.time
과 같이 필터링 하고 싶습니다.
db.student.find({}, {'_id.time':1})
하지만 결과가 나왔습니다.
{
_id:{
time: 1
loc: 'A'
}
}
결과가 다음과 같지 않은 이유 :
{
_id:{
time: 1
}
}
그래서 내 오류는 어디에 있습니까? 그리고 쿼리 작업을 작성하는 방법.
감사합니다.
몇 가지를 시도했지만 한계가있는 것 같습니다.
> db.students.find({}, {'_id':0, '_id.time': 1})
{ }
{ }
> db.students.find({}, {'_id.loc':0, '_id.time': 1})
Error: error: {
"ok" : 0,
"errmsg" : "Projection cannot have a mix of inclusion and exclusion.",
"code" : 2,
"codeName" : "BadValue"
}
그러나 $project
스테이지 가있는 집계 쿼리를 사용하면 쉽게이 작업을 수행 할 수 있습니다 .
> db.students.aggregate( { $project: { '_id.time':1 } } )
{ "_id" : { "time" : 1 } }
{ "_id" : { "time" : 2 } }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다