1

我有这个结构:

"_id": NumberInt(1),
"link_id": {
    "1000748": {
        "pi": NumberInt(34),
        "li": NumberInt(8)
    },
    "1002836": {
        "pi": NumberInt(21),
        "li": NumberInt(1002836)
    }
}

我想进行查询以仅选择带有 'pi' => 34 的 link_ids。我在 php 中尝试过$res = $collection->findOne(array("_id" => intval($_catids['categoryid']))array("linkid.$.pi" => intval(34))); 但没有成功。有任何想法吗?多谢!

4

1 回答 1

1

首先我推荐使用该领域的MongoId对象_id,它有很多选项和很多有用的功能

但这并没有回答问题,查询如下

{
    "linked_id.pi": 34
}

然后你翻译成PHP它是

array(
    'linked_id.pi' => 34,
)

然后取决于你想要的结果,你需要使用 find 或 findOne

于 2013-06-19T18:33:05.370 回答