我正在尝试使用将字符串转换为ObjectId
var body={};
var objId="57b40595866fdab90268321e";
body.id=mongoose.Types.ObjectId(objId);
myModel.collection.insert(body,function(err,data){
//causing err;
});
上面的代码在使用猫鼬4.4.16时工作正常,但是如果我将猫鼬更新到最新版本(4.6.0),则会出现问题。
呃
object [
{
"_bsontype":"ObjectID",
"id:{"0":87,"1":180,"2":5,"3":235,"4":134,"5":111,"6":218,"7":185,"8":2,"9":104,"10":50,"11":111}
}
]
is not a valid ObjectId
插入新文档的正确方法是-
var newDocument = new myModel({
_id: mongoose.Types.ObjectId("57b40595866fdab90268321e")
});
newDocument.save();
在您的情况下-它停止工作,因为mongoose和mongo本机驱动程序的版本之间存在差异。
不过,您可以通过上面的示例执行此操作,或者,如果仍然要使用insert
,则可以使用myModel.insertMany
(通过传递对象而不是数组)
看看这里http://mongoosejs.com/docs/api.html#model_Model.insertMany
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句