爲什麼Mongo將id分配給某些字段而不是其他字段?爲什麼Mongo將ID分配給該字段?
var mongoose = require ("mongoose");
var mySchema = new mongoose.Schema ({
// other fields...
_id分配到這個領域:
packageEdits: [{
time: Date,
section: String,
fields: [String]
}],
但不是在這裏:
subtitles: {
path: String,
fileName: String
},
// other fields...
})
當蒙戈看,有分配給該領域的_id:
"packageEdits" : [
{
"_id" : ObjectId("44cfedfdf34ca223aa3411aa"),
"section" : "someSection",
"time" : ISODate("2016-02-25T19:05:49.055Z"),
"fields" : [
"someValue"
]
}
],
但不在這裏:
"subtitles" : {
"path" : "/some/path",
"fileName" : "someName"
},
這是否有助於查詢這些嵌套屬性?
「看起來這些對象是在一個更大的對象內」 - 嗯,集合mySchema不是,也不是'subtitles','packageEdits'或這些對象的任何屬性。對於數組,不能通過屬性名稱「fields」來解決嗎?謝謝 – lance
我將不得不看看你的數據結構,以更好地瞭解如何解釋它。我只是使用它來仔細檢查,這直接來自MongoDB:「如果未指定_id字段,則MongoDB將ObjectIds用作_id字段的默認值;即如果文檔不包含頂級_id字段,則MongoDB驅動程序添加包含ObjectId的_id字段,另外,如果mongod收到一個不包含_id字段的插入文檔,mongod將添加包含ObjectId的_id字段。 [MongoDB ref](https://docs.mongodb.org/manual/reference/object-id/) –