Mongoose文档数组不更新
我有一个子数组的文档:
{ 'username': "student1", 'appointment_requests': [ {'semester': "SPRING 2015", ...}, ... ] }
这不起作用:
user_model.update( { 'username': "student1", 'appointment_requests.semester' : 'SPRING 2015' }, { $set: {'appointment_requests.$.status': this.REASSIGNED_STATUS, 'appointment_requests.$.submitted': moment().format()}}, console.log );
这样做(如果我将文档更改为“SPRING2015”):
user_model.update( { 'username': "student1", 'appointment_requests.semester' : 'SPRING2015' }, // GOT RID OF SPACE!! { $set: {'appointment_requests.$.status': this.REASSIGNED_STATUS, 'appointment_requests.$.submitted': moment().format()}}, console.log );
难道我做错了什么? 这是一个众所周知的缺陷吗? 谢谢你的帮助!
编辑:
在这两种情况下,我得到:
null 1 { ok: true, n: 1, updatedExisting: true }
但是,当我使用“SPRING 2015”时,它不起作用!
当我尝试使用更新为一个不存在的学生,我得到:
null 0 { ok: true, n: 0, updatedExisting: true }
所以Mongoosefind文档,但Mongo从不更新文档?
编辑:
我用控制台编辑它,相同的结果…
看起来像Mongo的bug?
编辑:
没有时间去debuggingMongo,使用手动查找和更新/保存工作…