这是我的mongodb架构。
var Schema = mongoose.Schema;
var UserSchema = new Schema({
created: {
type: Date,
Default: Date.now()
},
name: {
type: String,
default: "",
// required: "Title Cannot Be Blank",
trim: true
},
email: {
type: String,
default: "",
// required: "Content is required",
trim: true
},
rooms: [
{
roomId: "string",
roomName: "String",
pic: "string",
read_count: "string",
total_count: "string",
read_notes_count: "string",
total_notes_count: "string"
}
],
privatenotes: [
{
title: "string",
desc: "string",
notes: [
{
title: "string",
time: "string"
}
]
}
],
timetable: {
day: [
{
id: "String",
time: "String",
M: "String",
T: "String",
W: "String",
Th: "String",
F: "String",
S: "String",
Su: "String"
}
]
}
});
我正在尝试更新并删除私人笔记中的笔记但是它给了我这个错误。 MongoError:不能使用部分(timetable.day的时间表)来遍历元素({timetable:[{day:[{eight:“Chemistry”}]}]})
我已经尝试使用$运算符,我现在尝试使用find和save方法但不能正常工作。
User.findOne({ "_id": data.id},
function(err, doc) {
if (doc) {
var index1;
for (var i = 0; i < doc.privatenotes.length; i++) {
if (doc.privatenotes[i]._id == data.folderId) {
index1 = i;
break;
}
}
var index2;
for (var j = 0; j < doc.privatenotes[index1].notes.length; j++) {
if (doc.privatenotes[index1].notes[j]._id == data.noteId) {
index2 = j;
break;
}
}
doc.privatenotes[index1].notes[index2].title = data.note;
doc.save(function(err) {
if (err) {
console.log(err);
}else{
console.log('Successfull')
}
如何编辑笔记标题并从私密笔记中删除笔记?感谢