【发布时间】:2016-01-23 11:06:31
【问题描述】:
我正在尝试使用 Mongoose 执行一个相对简单的更新:
var location = locationService.getLocation(typedLat, typedLong, travelRadius);
DocumentModel.update({_id : passedInId }, { location : location }, function(err, resp){
next(err, resp);
});
在这种情况下,passedInId 是字符串: "561ee6bbe4b0f25b4aead5c8"
在对象(我创建的测试数据)中,id 是: "_id": ObjectId("561ee6bbe4b0f25b4aead5c8")
但是,当我运行上述代码时,匹配的文档为 0。我认为这是因为 passInId 被视为字符串,但是当我将其键入到 ObjectId 时:
var queryId = ObjectId(passedInId)
结果相同,文档不匹配。我错过了什么?这似乎应该是显而易见的......
【问题讨论】:
-
将调试标志设置为 true,它不会将查询记录到控制台。