插入许多在 mongoDB 中不起作用,为啥?
Posted
技术标签:
【中文标题】插入许多在 mongoDB 中不起作用,为啥?【英文标题】:insert many don’t working in mongo DB why?插入许多在 mongoDB 中不起作用,为什么? 【发布时间】:2020-01-21 06:34:25 【问题描述】:我正在尝试使用 mongoose 的 .it 将许多插入到 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);
);
只显示一个文档
【问题讨论】:
可以试试insert()
docs.mongodb.com/manual/reference/method/db.collection.insert/…
但我有多个文件
检查数据库。文件在那里。
@AlexBlex only one
文档已保存
看我的图片..!!
【参考方案1】:
因此,正如我所怀疑的,您创建的集合中还有一个索引,即blogposts
。索引是id
[键id
名称id_1
]。
这是你的整个项目,我在故障中添加了。
Demo
在这里我还添加了一个 api /indexes
,这将检索集合的所有索引。默认情况下_id
应该在那里,之后添加额外的索引。所以在这里你可以看到id
,它需要是唯一的。
我对您的代码做了一些改动。
路由/saveData
现在可以插入记录。它有一个名为id
的字段,这是独一无二的。
但是,现在位于 /saveData_old
的旧路由会报错,因为没有表示此索引键 [id
] 的键。 [同样插入后,id
为null,rest会失败,只会造成重复]
现在您可以使用具有唯一值的 id
键,或者如果您不需要,也可以删除索引。你可以在here找到一个关于如何删除索引的答案。
【讨论】:
以上是关于插入许多在 mongoDB 中不起作用,为啥?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 hotkeys.trigger 在 Mac 中不起作用?