Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongodb中的查询\u id_Javascript_Node.js_Mongodb - Fatal编程技术网

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(字符串)