db.test.find();
{
_id: ObjectId('55e99a2190df7a911d6ed1f1'),
list: [
{
"aa": 10,
"data": "test"
},
{
"aa": 1,
"data": "test"
}
]
}
db.test.find({_id: ObjectId('55e99a2190df7a911d6ed1f1'), list: {'$elemMatch': {'aa': 1}}})
预期结果:
{_id: ObjectId('55e99a2190df7a911d6ed1f1'),
list: {
"aa": 1,
"data": "test"
}
으아악
포함된 문서와 일치하는 쿼리는 다음과 같이 직접 쿼리할 수도 있습니다.
으아악위 쿼리 구현에 해당:
으아악db.test.find({_id: ObjectId('55e99a2190df7a911d6ed1f1'), 목록: {'$elemMatch': {'aa': 1}}},{"list.$":1}).pretty( )
먼저 mongodb를 사용한다면 mongodb는 nosql이라는 점을 이해해야 합니다
그러면 mongo 컬렉션은 문서를 저장합니다
마지막으로 find에서 반환되는 값은 문서의 컬렉션이어야 한다는 점을 알아야 합니다, 배열입니다
그래서 당신이 말한 것은 기본적으로 달성이 불가능합니다
찾기에 필요한 쿼리 조건만 입력하면 됩니다. 자세한 내용은 mongodb 공식 홈페이지를 확인해주세요
하나 이상을 반환하려면 $ 연산자를 사용하세요. 절대