![](/img/trans.png)
[英]Query for a Document Nested in an Array using Doctrine mongodb odm
[英]Find a document with Doctrine ODM with equals condition on nested array of objects
我得到了這種文件:
{
"_id" : ObjectId("54ad5c3b9a703a3c088b4567"),
"hard" : 750,
"coordinates" : {
"x" : 0.2388169910939489,
"y" : 0.7996551291084174
},
"indicator" : 500,
"networkIdList" : {
"networkIdData" : [
{
"networkId" : "abc123",
"type" : "SomeNetwork"
},
{
"networkId" : "123asdf",
"type" : "AnotherNetWork"
},
{
"networkId" : "abc123",
"type" : "OneMoreNetwork"
}
]
}
}
而且我需要執行查詢以查找具有“ networkId” =“ abc123”和“ type” =“ SomeNetwork”的文檔。
我已經嘗試過以下指令:
$this->documentManager->createQueryBuilder('Mydocument') ->field('networkIdList.networkIdData.$.networkGamingId')->equals('abc123') ->field('networkIdList.networkIdData.$.type')->equals('')
->getQuery()
->execute());
但是游標不返回任何數據。
我也嘗試
->where("function() {return this.networkIdList.networkIdData.$.networkGamingId == 'abc123'}")
但是在這種情況下,我遇到一個錯誤,說對象$沒有屬性。
而且我需要執行查詢以查找具有“ networkId” =“ abc123”和“ type” =“ SomeNetwork”的文檔
$qb = $dm->createQueryBuilder('Foo')
->field('networkIdList.networkIdData.networkId')->equals('abc123')
->field('networkIdList.networkIdData.type')->equals('SomeNetwork');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.