【发布时间】:2019-04-13 05:53:42
【问题描述】:
我有一个 12K 模型的集合,我想插入到我的 Mongo DB 中。
Mongo 数据库版本:4.0.3 猫鼬版本:5.3.4
我尝试在 forEach 中使用 InsertMany、create、save(),但我无法插入 12K 模型。
const ProductSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
id: {
type: String,
required: true
},
sku: {
type: String,
required: true
},
categoriesIds: [
{
type: String
}
]},
{
usePushEach: true, timestamps: true
});
const prodModel = new ProductModel({
name: prod.name,
id: prod.id,
sku: prod.sku,
categoriesIds: prod.categories
});
I have array of 12K productModel created and then I did:
ProductModel.insertMany(products, (error) => {
});
只有当数组长度小于 1K 时才可以。我从 Mongo 3.6 开始读到 maxWriteBatchSize 是 100K。我正在使用 Mongo 4。我不明白为什么不能只使用 12K 元素。
控制台不显示错误。
【问题讨论】:
-
您尝试过批量插入吗? stackoverflow.com/a/25313401/10387396
-
是的,我刚试过那个东西。结果相同。我使用 mongoose.connection 执行该 initializeUnorderedBulkOp() ..
-
我想也许我应该直接使用mongod驱动。
-
什么特别不起作用?