[英]Express delete MongoDB entry dynamically
我想根據 id 變量刪除 MongoDB 中的一個條目。 但是,當它是我為方法提供的參數時,它不起作用。 我已經檢查了方法中的變量,它是正確的值。 然后我想,這可能是因為變量是一個字符串,所以我把它改成了一個數字,但它仍然不起作用。 代碼如下:
async function DeleteID (collectionName, threadIDString) {
const uri = "mongodb://ADDRESS";
const client = new MongoClient(uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
try {
const threadIDNum = parseInt(threadIDString);
await client.connect();
const database = client.db("DB")
const eventCollection = database.collection(collectionName)
await eventCollection.updateOne({}, {$unset: {threadIDNum: 1}})
} finally {
await client.close();
}
}
基本上 threadIDNum 和 threadIDStirng 都不能在 unset 中工作,但是當我在那個地方手動插入一個值時,代碼可以工作。
同時使用 unset 刪除數據。
await eventCollection.updateOne(
{
threadIDNum: 1 // filter condition to fetch a record
},
{
$unset: { threadIDNum: 1 } // field that you want to remove
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.