我想通過它的MongoID「_id」字段在mongoDB中查找記錄。我已經找到了關於如何去做的例子,但是無法實現。例如:爲什麼我無法通過_id在mongodb中找到記錄
$recID = "010101010101011"; //would be a valid mongodb _id
$recID = new MongoId((string)$recID); // I have tried it without the (string) cast too
$cursor = $this->Collection->findOne(array('_id' => $recID));
print_r($cursor);
它輸出:
MongoCursor (
)
沒有內部。
我已通過將上述「_id」更改爲不同字段(例如「firstName」)並傳入第一個名稱並獲取有效數據來驗證其他所有工作。
爲什麼這不起作用?
我甚至嘗試用$ recID作爲字符串搜索,沒有區別。
這裏是蒙戈外殼會發生什麼(雖然我不知道如果我正確地查詢):id的或_id
>
> db.Employee.find({login:"myperson"})
{ "_explicitType" : "project.Employee", "_id" : ObjectId("4e209564203d83940f0000
06"), "active" : true, "addedDate" : "07/15/2011 15:29:21", "domain" : "xxx",
"id" : ObjectId("4e209564203d83940f000006"), "lastLogin" : "07/20/2011 19:13:36
", "login" : "myperson", "name" : "My Person", "pw" : "", "ulevel" : 9999
}
> db.Employee.find({id:"4e209564203d83940f000006"})
> db.Employee.find({_id:"4e209564203d83940f000006"})
>
通知沒有退回。
你能找到使用MongoDB的交互shell呢? – KaKa