我在MongoDB中使用CakePHP更新。MongoDB:無法規範化查詢:BadValue投影不能混合包含和排除
當我寫下面的查詢它會執行得很好。
db.testData.find()
{ "_id" : ObjectId("53d1f79db8173a625961ff3d"), "name" : "sadikhasan", "created" : ISODate("2014-07-25T06:22:21.701Z") }
當我運行以下查詢來獲取唯一的名字,但它顯示錯誤,如
db.testData.find({},{name:1, created:0})
error: {
"$err" : "Can't canonicalize query: BadValue Projection cannot have a mix of inclusion and exclusion.",
"code" : 17287
}
當我運行以下查詢來獲取只有_id:0
名字,那麼它執行好。
db.testData.find({},{name:1, _id:0})
{ "name" : "sadikhasan" }
我qeustion是,當我在投影列表寫created:0
爲什麼我收到錯誤。提前感謝您的幫助。
當我想投影列表,然後我總是通過'_id:0'? – Sadikhasan
@Sadikhasan號。這只是排除默認情況下始終包含的「_id」字段。該示例中提供了一個鏈接,詳細解釋了這一點。與其他各種教程示例一起,您應該花點時間閱讀。 –
他們爲什麼選擇這種設計的任何想法?在查詢中允許「太多」冗長是有道理的 – Richard