mongodb - insertMany 方法返回 Object 中的 insertIds,而不是 Mongoose 5 中的 Array
问题描述
最近我将 Mongoose 从 4.x 更新到 5.x,代码在 insertMany 返回值处被破坏。
在更新之前,insertedIds 是返回对象中的键,值是一个数组,其中包含所有插入的 ObjectId,例如
[ObjectId1, ObjectId2].
更新后,insertedIds 的值是这样的 Object:
{
1: ObjectId1,
2: ObjectId2
}
我必须使用 Object.values 将其转换为数组。我在 Mongo shell 中尝试了 insertMany 方法,insertedIds 是 Array。
我在升级过程中错过了什么吗?
解决方案
mongoose 5.x 支持 node-mongodb-native 3.x 驱动程序,它的结果是insertedIds
您现在看到的格式的密钥。您需要进行一些代码更改,因为 node-mongodb 2.x 驱动程序返回结果,list
但不是 3.x,它返回一个map
.
推荐阅读
- python - 如何检查 xpath 中是否存在元素,如果不存在则返回 null/no 值?
- python - 没有名为“keras_tuner”的模块
- list - 如何使用Scala中的函数式编程从Map(String,List(String))列表中提取不可变
- python - pandas:将具有相同值的连续行分组为一组
- java - 如何防止 CSVPrinter 再次重写数据
- amazon-product-api - 在 AWS 上拒绝访问请求的资源
- css - 为什么我的 CSS 动画过渡不起作用
- php - 数组中的 Laravel 验证值 - livewire
- r - 箭头显示 R ggplot2 图中每个第 n 个数据点的路径方向
- javascript - 打印日期无效