0

我有一个这样的mongoDB设置:

fieldName: {
  "1": {
      client: "name-here",
      subfield: "more-junk-here"
   },
   "2": {
      client: "another-client-name-here",
      subfield: "more-data"
   },
   "3": {
      client: "client-num-3",
      subfield: "i-like-turkey-sandwiches"
   }
}

如何查询“i-like-turkey-sandwiches”,而不知道它在第 3 位,也不搜索整个文档?我开始写这个,但我完全不知道如何进行搜索......

$cursor = $collection->findOne(array('fieldName' => 'i-like-turkey-sandwiches));
4

1 回答 1

1

(编辑:我的回答只有在 fieldName 内容是子文档数组而不是以“1”/2/3 作为键和子文档作为值的文档时才有效)

如果您查询

$cursor = $collection->findOne(
              array('fieldName.subfield' => 'i-like-turkey-sandwiches'));

它将返回您在 fieldName 字段中具有该值的子字段的所有文档。

于 2012-10-17T13:41:05.510 回答