我正在尝试将某些字段更新为 Date 对象,但是当这些字段位于子文档中时,我遇到了一些问题。可能是一个超级简单的问题,但我就是做错了..
该集合具有以下结构:
{
"dob": "1989-03-12",
"gender": "M",
"visits": [
{
"date": "2002-03-01",
"type": "NO23",
},
{
"checked": "2012-03-02",
"type": "NO11",
}]
},
{
"dob": "1970-08-22",
"gender": "M",
"visits": [
{
"date": "2008-09-01",
"type": "NO23",
},
{
"checked": "2010-09-02",
"type": "NO11",
}]
}, ...
我已经在 Mongo 控制台中使用以下内容管理了每个文档的dob:更新:
var cursor = db.collection.find();
while (cursor.hasNext()) {
var doc = cursor.next()
db.collection.update({_id : doc._id}, {$set : {dob : new Date(doc.dob)}})
}
但我无法改变visit.date。我尝试了以下但没有成功:
db.collection.update({"_id" : doc._id}, {$set: {"visits.$.date": new Date(visits.$.date)}})
这给了我JavaScript execution failed: ReferenceError: visits is not defined
提前致谢!