1
我有一個主管架構,如果用戶想要修復約會,他的輸入是在DB中進行的。模式是:無法將數據插入到集合中
officerSchema = mongoose.Schema({
email : {type: String,
index: { unique: true }
},
appointmentList : Array // array of jsonObject of dates and userID
});
的AppointmentList是JSON對象的數組,它包含與約會具有該人員的ID來進行,日期和用戶ID(其想要固定預約的用戶)。
但是爲了避免重複的約會條目,我一直在使用互聯網上提到的幾種方法。到目前爲止,他們都沒有爲我工作。我張貼下面的代碼。下面的代碼的問題是它永遠不會在約會列表中插入任何數據。但是,如果我使用保存()而不是更新()插入發生但重複也插入。
這裏是JSON對象,我想從DB陣列中添加,
{
"id": "1321231231",
"appointment": {
"userID": "31321",
"date": "24 March"
}
}
var ID = requestObject.id;
var newObject = {$addToSet: requestObject.appointment};
OfficerModel.findOne({_id : ID}, function(err, foundData) {
if(err) {
console.log(err);
return;
}
else {
var dbList = foundData.list;
dbList.push(newObject);
foundData.update(function(err, updatedData) {
if(err) {
console.log(err);
}
else {
console.log("successful");
}
});
}
});
有幾個問題: 'appointmentList.id'可以告訴貓鼬那看起來進入表/集合字段稱爲appointmentList,然後遍歷所有JsonObjects約會列表字段具有匹配他們提供的ID,對吧?如果是這樣,這意味着如果我們有像appointmentList = [{a:1,[{b:7}]},...],我們可以通過appointmentList.a.b來檢查「b」如果不是,我們怎樣才能訪問b?有沒有教這個教導呢? – user2498079