鍍金池/ 問答/數(shù)據(jù)庫  HTML/ mongoose 分組查詢時用_id無法查詢到數(shù)據(jù)

mongoose 分組查詢時用_id無法查詢到數(shù)據(jù)

圖片描述

我用name能查詢到,用_id就不行了,啥情況。

回答
編輯回答
朽鹿

Model.findById

與 findOne 相同,但它接收文檔的 _id 作為參數(shù),返回單個文檔。_id 可以是字符串或 ObjectId 對象。

Model.findById(obj._id, function (err, doc){
  // doc 是單個文檔
});
2018年7月3日 19:33
編輯回答
茍活

和你前面的 findOne 一樣,用 ObjectId 包一下就好了,直接字符串是不行的

clipboard.png

2017年5月2日 18:36
編輯回答
久礙你

雷猴
mongodb中的_id并不是一個字符串
ObjectId 是一個12字節(jié) BSON 類型數(shù)據(jù),有以下格式:
前4個字節(jié)表示時間戳
接下來的3個字節(jié)是機器標識碼
緊接的兩個字節(jié)由進程id組成(PID)
最后三個字節(jié)是隨機數(shù)。
MongoDB中存儲的文檔必須有一個"_id"鍵。這個鍵的值可以是任何類型的,默認是個ObjectId對象。
在一個集合里面,每個文檔都有唯一的"_id"值,來確保集合里面每個文檔都能被唯一標識。
可以通過

{"_id" : ObjectId("544a3dc0d4646f0c8c904962")} 

這樣去查詢

2017年10月4日 00:57