Javascript mongodb中的查询\u id
我正在尝试查询特定文档,然后删除该文档 我能够通过以下方式成功查询文档:Javascript mongodb中的查询\u id,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在尝试查询特定文档,然后删除该文档 我能够通过以下方式成功查询文档: export async function findRecord(database, sub_db, query) { let output = ""; const mongo = require('mongodb').MongoClient const url = "mongodb+srv://..."; const client = await mongo.connect(url, {u
export async function findRecord(database, sub_db, query) {
let output = "";
const mongo = require('mongodb').MongoClient
const url = "mongodb+srv://...";
const client = await mongo.connect(url, {useNewUrlParser: true,useUnifiedTopology: true});
const db = client.db(database)
const collection = db.collection(sub_db)
const items = await collection.find(query).toArray();
client.close()
return items;
}
但是当我把数据记录到console.log中时,我的_id就在一个数组中。看起来是这样的:
在MongoDB文档中,我看到这样的查询:{“_id”:ObjectId(“568c28fffc4be30d44d0398e”)},但由于它打印了一个数组,我无法让它看起来像那样
前端:
export async function button3_click(event) {
let query = {}
let output = await findRecord("domains","domains", query)
console.log(output)
let record_to_delete = output[0]._id
console.log(record_to_delete)
await deleteRecord("domains","domains",record_to_delete)
}
后端:
export async function deleteRecord(database, sub_db, record_idobj) {
let output = "";
const mongo = require('mongodb').MongoClient
const url = "mongodb+srv://...";
const client = await mongo.connect(url, {useNewUrlParser: true,useUnifiedTopology: true});
const db = client.db(database)
const collection = db.collection(sub_db)
await collection.deleteOne({"_id": record_idobj})
client.close()
}
我的最终目标是能够删除_id
注意:我的前端代码可能看起来很奇怪,因为我使用的是Wix代码,但其他一切都应该正常。请尝试使用
findOne
而不是find
collection.findOne({u id:{u id})
只要我理解,你的问题的答案已经给出了
您只需要从char数组中生成一个字符串,这可以通过charArray.join(“”)轻松完成
然后使用ObjectId(字符串)