【发布时间】:2013-09-06 19:41:18
【问题描述】:
PHP
$query = $myCollection->findOne(array("field2.sf2" => "value two"));
echo json_encode($query);
返回的 JSON 对象
{"_id":{"$id":"5476854783473474578548"},"field1":"value one","field2":{"sf1":["av1","av2","av3"],"sf2":"value two"},"field3":"value three"}
发生了什么:
"_id":{"$id":"5476854783473474578548"}
我可以看到它是 Document 的 "_id" 键和值的表示,即:
"_id": ObjectId("5476854783473474578548")
但有一些事情正在发生:
- 值变成
sub document,即用大括号括起来 -
ObjectId被"$id"取代
我正在使用 MongoDB,通过 jQuery 的 getJSON() 方法通过 PHP 文件访问。
发生这种情况时我需要注意任何gotcha's吗?
任何常见的“行业知识”提示可能对 MongoDB 新手有所帮助或进一步解释正在发生的事情?
【问题讨论】: