我看到了其他类似的查询数组字段的问题,但大多数都是针对纯 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
扬帆大鱼