我看到了其他類似的查詢數(shù)組字段的問題,但大多數(shù)都是針對(duì)純 Mongo 的,我無(wú)法將解決方案轉(zhuǎn)換為 PHP 的驅(qū)動(dòng)程序“find()”。我在這里也發(fā)現(xiàn)了類似的問題,但我無(wú)法用它來(lái)解決我的問題。PHP驅(qū)動(dòng)程序的文檔也沒有幫助,有一個(gè) find() 示例,但字段不是像我的那樣的數(shù)組。給我?guī)?lái)麻煩的字段是“Sentenca”,它是一個(gè)包含“Situacao”和“Prob”的數(shù)組。就像下面這樣:"Sentenca": [{
"Situacao": "nc",
"Prob": 0.96
}]“Sentenca”始終僅包含一個(gè)具有這兩個(gè)字段的索引 [0]。我需要查詢“Situacao”不是“nc”的所有文檔。我所知道的是我應(yīng)該使用操作符 $nin 但我不知道如何使用 find() 來(lái)做到這一點(diǎn)。我得到的最遠(yuǎn)的是這個(gè)(并且這個(gè)查詢沒有做我需要的事情):$result = $collection->find( [ "Sentenca"=>["Situacao"=>['$nin'=>["nc"]]]] );編輯:我設(shè)法對(duì)“Situacao”應(yīng)用 $nin 條件進(jìn)行查詢,但由于某種原因該查詢不返回任何內(nèi)容。如果我嘗試回顯這些條目,則會(huì)收到錯(cuò)誤:Uncaught MongoDB\Driver\Exception\LogicException: Cursors cannot yield multiple iterators
1 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
MongoDB 論壇上有人解決了這個(gè)問題。您可以使用 '。' 要訪問數(shù)組元素,請(qǐng)使用 $nin => 'nc'。
$result = $collection->find([
"Sentenca.0.Situacao" => [
'$nin' => ["nc"]
]
]);
- 1 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報(bào)
0/150
提交
取消