[英]insert many don’t working in mongo DB why?
我正在嘗試使用貓鼬在 mongoDB 中插入許多內容。它只保存one collection
只是為什么這是我的代碼https://codesandbox.io/s/gallant-solomon-o91wp
我就這樣存
app.get("/saveData", async () => {
try {
const data = [
{
empid: "test123",
date: "19-Jul-2019"
},
{
empid: "test13",
date: "18-Jul-2019"
},
{
empid: "test13",
date: "11-Jul-2019"
}
];
console.log("before save");
let saveBlog = await BlogPostModel.collection.insertMany(data, {
checkKeys: false
}); //when fail its goes to catch
console.log(saveBlog); //when success it print.
console.log("saveBlog save");
} catch (error) {
console.log(error);
}
});
嘗試獲取這樣的數據
app.get("/filter", async (req, res) => {
try {
let filterBlog = await BlogPostModel.find({});
//when fail its goes to catch
console.log(filterBlog); //when success it print.
res.send(filterBlog);
} catch (error) {
console.log(error);
}
});
只顯示一份文件
因此,正如我所懷疑的,您創建的集合中還有一個索引,即blogposts
。 索引是id
[key id
name id_1
]。 這是你的整個項目,我已經添加了故障。
在這里我還添加了一個 api /indexes
,這將檢索集合的所有索引。 默認情況下_id
應該在那里,之后添加其他索引。 所以在這里你可以看到id
,它必須是唯一的。
我對您的代碼做了一些更改。
路由/saveData
現在能夠插入記錄。 它有一個名為id
的字段,它是唯一的。
但是,現在位於/saveData_old
的舊路由,這會給您帶來錯誤,因為沒有表示此索引鍵 [ id
] 的鍵。 [同樣在插入一個后,它的id
為 null 和 rest 將失敗,只會導致重復]
現在您可以使用具有唯一值的id
鍵,或者如果您不需要,您也可以刪除索引。 您可以在此處找到有關如何刪除索引的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.