javascript - 根据 ID 从 MongoDB 集合中删除特定元素
问题描述
我在 MongoDB 中有一个名为“成员”的集合。每个成员都有 first_name、last_name 和自动生成的对象 ID。我正在使用 ExpressJS 获取数据并使用 VueJS 显示它。这适用于 get 和 post 方法,但我还需要一个 delete 方法。我的问题是如何找到用户点击并想要删除的特定成员?这是我的代码(简化版)
<form action="/delete" method="delete">
<ul>
<li v-for="(value, index) in allTeamMembers">
{{ 'Member: ' + value }}
<button type="submit">Delete</button>
</li>
</ul>
</form>
expressApp.delete('/delete' , function (request, response) {
MongoClient.connect(url, function (err, db) {
if (err) throw err;
let dbo = db.db(dbName);
let myquery = {first_name: 'Tobias'};
dbo.collection("Members").deleteOne(myquery, function (err, obj) {
if (err) throw err;
console.log("1 document deleted");
db.close();
});
});
});
这当然是我的查询可行,需要更改,但我找不到从列表中查询单击元素的方法。现在,它只是删除了 first_name = "Tobias" 的所有内容,但我希望它从列表中删除单击的元素。
解决方案
如您所说,如果您要查询 Tobias,它将找到所有 Tobias 示例。也许您应该将 mongoDB ID 作为属性存储在元素中,以便在单击时轻松访问它。然后,您可以按照第一个示例尝试根据唯一 ID 进行删除:https ://docs.mongodb.com/manual/reference/method/db.collection.deleteOne/#examples
推荐阅读
- java - 从字符串中删除“\”对我不起作用
- java - 如何在android studio上获得两条线的交点?
- linux - 如何在 NixOS 中构建 px4_drv 内核模块?
- docker - Endorser 客户端连接失败:连接被拒绝错误
- python - 无法在 Ubuntu 中安装熊猫
- javascript - 使用来自 react typescript 项目的 @wdio/sync
- hadoop - 在 Apache hive 上执行分析查询(例如 select count(*) )时出错
- reinforcement-learning - 是否可以在 OpenAI 健身房中获得环境图像?
- reactjs - 无法获取查询字符串:路径名已填充但搜索为空
- vuejs2 - 基于选择值的Vue多选CSS