mongodb - mongo数组查询,如何仅返回当前匹配数组?
PHP中文网
PHP中文网 2017-04-27 09:02:24
0
4
613
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"
}
PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(4)
PHPzhong

으아악

포함된 문서와 일치하는 쿼리는 다음과 같이 직접 쿼리할 수도 있습니다.

으아악

위 쿼리 구현에 해당:

으아악

db.test.find({_id: ObjectId('55e99a2190df7a911d6ed1f1'), 목록: {'$elemMatch': {'aa': 1}}},{"list.$":1}).pretty( )

PHPzhong

먼저 mongodb를 사용한다면 mongodb는 nosql이라는 점을 이해해야 합니다
그러면 mongo 컬렉션은 문서를 저장합니다
마지막으로 find에서 반환되는 값은 문서의 컬렉션이어야 한다는 점을 알아야 합니다, 배열입니다

그래서 당신이 말한 것은 기본적으로 달성이 불가능합니다

洪涛

찾기에 필요한 쿼리 조건만 입력하면 됩니다. 자세한 내용은 mongodb 공식 홈페이지를 확인해주세요

为情所困

하나 이상을 반환하려면 $ 연산자를 사용하세요. 절대

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!