1
這可能是關於mongodb中的_id
的概念性問題。mongodb mongoose nodejs express4爲什麼自動在Object Array字段中插入_id?
我理解的MongoDB會自動插入_id
場,如果你不設置鍵字段中document.In我的情況,我定義的字段作爲對象數組,我不知道爲什麼它總是在每個對象創建_id
在此字段的Array中。
我很感激,如果有人能爲我澄清它。
貓鼬示範計劃的定義:
module.exports = mongoose.model("Application", {
Name: String,
Description: String,
Dependency: [
{
App_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Application'
},
Priority: Number
}
]
});
這是一個更新操作,請求數據是:
{ _id: '571953e33f33c919d03381b5',
Name: 'A Test Utility (cmd)',
Description: 'A Test Utility (cmd)'
Dependency:
[ { App_id: '571953e33f33c919d03381b6', Priority: true },
{ App_id: '571953e33f33c919d03383da', Priority: 0 } ]
}
我使用此代碼更新
var id = req.body._id;
Application.findOneAndUpdate({ _id: id }, req.body, function (err, app) {
if (err)
res.send(err);
res.json(app);
});
的更新但是mongodb中的文檔是:
{
"_id" : ObjectId("571953e33f33c919d03381b5"),
"Name" : "A Test Utility (cmd)",
"Description" : "A Test Utility (cmd)",
"Dependency" : [
{
"Priority" : 1,
"App_id" : ObjectId("571953e33f33c919d03381b6"),
"_id" : ObjectId("571a7f552985372426509acb")
},
{
"Priority" : 0,
"App_id" : ObjectId("571953e33f33c919d03383da"),
"_id" : ObjectId("571a7f552985372426509aca")
}
]
}
我只是不明白「Dependency」數組中的_id
怎麼樣?
感謝。
感謝您的更新@xjtumalin通知插入 –