在我的應用上創建用戶時,他們的詳細信息將使用貓鼬保存在MongoDB中。 user schema
包含子文件,我試圖訪問_id
如果子文件使用user.save
函數後。保存後訪問子文檔ID - 貓鼬
的模式如下:
{
name: String,
email: String,
address: String,
phone:[
{landLine: Number,
mobile: Number}
]
}
我可以訪問姓名,電子郵件和像那麼容易解決:
console.log(user.name + user.email + user.address)
我試圖user.phone._id
但它返回undefined
。我認爲是因爲phone
是一個對象數組。
user.save(function(err) {
if (err)
throw err;
else {
console.log("user ID " + user._id); // SUCCESS!!
console.log("user sub-document ID " + user.phone._id); // UNDEFINED!!
return (null, user);
}
});
如何我可以訪問save
函數內部的子文檔的_id創建並保存到MongoDB的右後用戶?
在你的schema' phone'不是子文檔,所以它沒有'_id'。 – alexmac
@AlexanderMac我認爲這個問題沒有正確顯示架構。這可能確實是電話:[{landline:Number,mobile:Number}]',但很高興得到確認。當然,對於「第一個」元素,它將是'user.phone [0] ._ id',但如果這是一個數組元素的「初始」保存或添加另一個元素,則在上下文中不會清除 –
@NeilLunn對不起關於你正確的模式。我將更新我的問題 – Skywalker