亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 獲取 MongoDB 中“對象數組”字段條件的文檔

使用 PHP 獲取 MongoDB 中“對象數組”字段條件的文檔

PHP
嗶嗶one 2023-10-15 14:51:41
我看到了其他類似的查詢數組字段的問題,但大多數都是針對純 Mongo 的,我無法將解決方案轉換為 PHP 的驅動程序“find()”。我在這里也發現了類似的問題,但我無法用它來解決我的問題。PHP驅動程序的文檔也沒有幫助,有一個 find() 示例,但字段不是像我的那樣的數組。給我帶來麻煩的字段是“Sentenca”,它是一個包含“Situacao”和“Prob”的數組。就像下面這樣:"Sentenca": [{         "Situacao": "nc",         "Prob": 0.96         }]“Sentenca”始終僅包含一個具有這兩個字段的索引 [0]。我需要查詢“Situacao”不是“nc”的所有文檔。我所知道的是我應該使用操作符 $nin 但我不知道如何使用 find() 來做到這一點。我得到的最遠的是這個(并且這個查詢沒有做我需要的事情):$result = $collection->find( [ "Sentenca"=>["Situacao"=>['$nin'=>["nc"]]]] );編輯:我設法對“Situacao”應用 $nin 條件進行查詢,但由于某種原因該查詢不返回任何內容。如果我嘗試回顯這些條目,則會收到錯誤:Uncaught MongoDB\Driver\Exception\LogicException: Cursors cannot yield multiple iterators
查看完整描述

1 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

MongoDB 論壇上有人解決了這個問題。您可以使用 '。' 要訪問數組元素,請使用 $nin => 'nc'。


$result = $collection->find([


    "Sentenca.0.Situacao" => [

        '$nin' => ["nc"]

    ]

    

]);


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 106 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號