如何用Mongodb复杂条件查询数组内成员?
PHPz
PHPz 2017-04-28 09:04:07
0
2
647
[{
    "_id" : ObjectId("55f181e43fdda0be857daaf4"),
    "form_info" : [ 
        {
            "val" : "王思聪",
            "id" : "1"
        }, 
        {
            "val" : "13800138000",
            "id" : "2"
        }
    ],
    "tags" : [],
    "__v" : 0
},
{
    "_id" : ObjectId("55f181e43fdda0f48578acf4"),
    "form_info" : [ 
        {
            "val" : "李丽珍",
            "id" : "1"
        }, 
        {
            "val" : "13934438010",
            "id" : "2"
        }
    ],
    "tags" : [],
    "__v" : 0
}]

如果我想筛选form_info数组内符合 成员对象内id为1,val王思聪id为2,val13800138000 的记录。

即结果是:

[{
    "_id" : ObjectId("55f181e43fdda0be857daaf4"),
    "form_info" : [ 
        {
            "val" : "王思聪",
            "id" : "1"
        }, 
        {
            "val" : "13800138000",
            "id" : "2"
        }
    ],
    "tags" : [],
    "__v" : 0
}]

该怎么写好? 谢谢大大们

PHPz
PHPz

学习是最好的投资!

모든 응답(2)
漂亮男人

당신의 기록이 데이터베이스에 어떻게 저장되어 있는지 살펴보실 수 있나요? 바로 이것입니다:

으아악

아니면 배열의 각 하위 문서가 독립적인 레코드인가요? 위와 같다면 _id만 직접 확인하면 유일한 기록을 얻을 수 있습니다. 제가 이해한 바에 따르면 다음 쿼리를 실행해 보세요.

으아악

좋네요

刘奇

저는 mongodb를 배우고 있으며 SF에 대한 몇 가지 질문에 답하려고 노력하고 있습니다.

mongodb의 임베디드 배열에 대한 쿼리입니다. 인덱스를 알고 있으면 숫자 인덱스 쿼리를 사용할 수 있습니다.

배열 인덱스를 사용하여 포함된 문서의 필드 일치

따라서 쿼리는 다음과 같이 작성할 수 있습니다.

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