在猫鼬4.6.0中将字符串转换为ObjectId失败

瓦拉巴

我正在尝试使用将字符串转换为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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猫鼬:转换为ObjectId失败

来自分类Dev

猫鼬:转换为ObjectId失败

来自分类Dev

猫鼬字符串到ObjectID

来自分类Dev

UnhandledPromiseRejectionWarning:CastError:对猫鼬的值转换为字符串失败

来自分类Dev

猫鼬强制转换为ObjectId的值失败

来自分类Dev

如何在Xcode6中将响应数据转换为字符串

来自分类Dev

如何在Xcode6中将响应数据转换为字符串

来自分类Dev

将十进制转换为字符串-猫鼬

来自分类Dev

如何将字符串转换为日期然后在猫鼬查询中减去日期?

来自分类Dev

用打字稿链接猫鼬中的ES6承诺

来自分类Dev

用打字稿链接猫鼬中的ES6承诺

来自分类Dev

猫鼬模型中的预钩子作为 ES6 类

来自分类Dev

将猫鼬流转换为数组

来自分类Dev

如何在swift 4中将ASCII码序列转换为字符串?

来自分类Dev

无法在swift 4中将时间戳日期转换为字符串

来自分类Dev

猫鼬-保存字符串数组

来自分类Dev

猫鼬-枚举字符串数组

来自分类Dev

猫鼬.find字符串参数

来自分类Dev

猫鼬传递空字符串

来自分类Dev

猫鼬:以没有任何ObjectId的猫鼬填充

来自分类Dev

猫鼬$ lookup,其中localField是foreignField中ObjectId的字符串

来自分类Dev

_id的猫鼬转换错误

来自分类Dev

猫鼬填充转换错误

来自分类Dev

猫鼬:通过错误“ message”找到findByIdAndUpdate:“对值\“ undefined \”的字符串转换失败

来自分类Dev

mongoDB中猫鼬的位置

来自分类Dev

猫鼬中的嵌套模式

来自分类Dev

猫鼬模式中的引用

来自分类Dev

在猫鼬中查找条件

来自分类Dev

猫鼬中的嵌套模式