Node.js 在nodejs mongodb中按id查找文档

Node.js 在nodejs mongodb中按id查找文档,node.js,mongodb,Node.js,Mongodb,所以我想通过id查找一个特定的文档,例如 [ { "_id": "5d0381ad681a2a3aa1dc5872", "role_num": 1, "first_name": "Adilf", "last_name": "Adli", "marks": 97 }, { "_id": "5d0381ad681a2a3aa1dc5873", "role_num": 2, "first_name": "Mario", "last_name": "Adl", "marks": 93 }, { "_id

所以我想通过id查找一个特定的文档,例如

[
{
"_id": "5d0381ad681a2a3aa1dc5872",
"role_num": 1,
"first_name": "Adilf",
"last_name": "Adli",
"marks": 97
},
{
"_id": "5d0381ad681a2a3aa1dc5873",
"role_num": 2,
"first_name": "Mario",
"last_name": "Adl",
"marks": 93
},
{
"_id": "5d0381ad681a2a3aa1dc5874",
"role_num": 3,
"first_name": "Adi",
"last_name": "Ad",
"marks": 89
},
{
"_id": "5d0381ad681a2a3aa1dc5875",
"role_num": 4,
"first_name": "Harold",
"last_name": "Nome",
"marks": 78
},
{
"_id": "5d10b6124adac42c4467cb88",
"role_num": 6,
"first_name": "Mohammed",
"last_name": "Khan",
"marks": 91
},
{
"_id": "5d10b65f4adac42c4467cb89",
"role_num": 6,
"first_name": "Mohammed",
"last_name": "Khan",
"marks": 91
},
{
"_id": "5d10ebc562562921883741a1",
"role_num": 6,
"first_name": "Mohammed",
"last_name": "Khan",
"marks": 91
},
{
"_id": "5d11af3a62562921883741a3",
"role_num": 6,
"first_name": "Mohammed",
"last_name": "Khan",
"marks": 91
},
{
"_id": "5d11b40b62562921883741a4",
"role_num": 6,
"first_name": "Mohammed",
"last_name": "Khan",
"marks": 91
},
{
"_id": "5d11b4cd6dc8db0fe0f489fc",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b5131beb7f338414bc96",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b56cd0baff00cc616ebb",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b586d76c463d30d02355",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b74effe56935d88d910e",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b7d1e425ab1dbceda262",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d11b90e44b2c61650377951",
"role_num": 7,
"first_name": "Masrur",
"last_name": "Ahmed",
"marks": 81
},
{
"_id": "5d120883a2f4d83bac8441c7",
"first_name": "Maria"
},
{
"_id": "5d1208cca2f4d83bac8441c8",
"first_name": "Maria"
},
{
"_id": "5d12093fa2f4d83bac8441c9",
"first_name": "Maria"
},
{
"_id": "5d1209c0a2f4d83bac8441ca",
"first_name": "Baki"
},
{
"_id": "5d120f0ed9e07909a413cd85",
"role_num": "5",
"first_name": "Arojfsdof",
"last_name": "adfjaf",
"marks": "12"
},
{
"_id": "5d12fff7d9e07909a413cd8a",
"role_num": "17",
"first_name": "BARKS",
"last_name": "DUDUE",
"marks": "45"
},
{
"_id": "5d131c42313e183ae09966c3",
"role_num": "4",
"first_name": "Maam",
"last_name": "Alsad",
"marks": "80"
}
]
上面我有一个学生列表,我想用get方法通过id找到一个特定的学生,例如,让我们假设我想找到这个

{
    "_id": "5d131c42313e183ae09966c3",
    "role_num": "4",
    "first_name": "Maam",
    "last_name": "Alsad",
    "marks": "80"
}
这是我的“查找id”代码,让我知道我必须修复什么

second.get('/students/:id', (req, res) => {
   db.collection('students').find({"_id": ObjectID(req.body._id)}).toArray((err,result) => {
     if(!err) {
        res.send(result);
     } else {
         console.log(err);
     }

   });
});

在我使用findOne方法之前,但它只用于查找第一个doucment的发生,而这不是我从Mongo获取ID为db.collection('students')的记录所要查找的内容。findOne({u ID::ID})是正确的格式。您只能获取一条记录,因为您不能有两条ID相同的记录。

缺少
新的

var ObjectID = require('mongodb').ObjectID;   

db.collection('students').find({"_id": new ObjectID(req.body._id)})

@因此,如果我想在我的代码中找到{“_id”:“5D0381AD681AA3AA1DC5874”,“role_num”:3,“first_name”:“Adi”,“last_name”:“Ad”,“marks”:89},@franiis我可以在代码中更改什么,我不想硬编码值我不是Node.js开发者。通过
id
查询数据库是数据库通信中最重要的任务。可能是这样的:(我肯定有一些例子)。我在哪里定义像“_id”:idMine是异步函数的一部分:
let client=wait MongoClient.connect(uri,{useNewUrlParser:true});设db=client.db(“学生”);try{const res=await db.collection('students')。findOne({“\u id”:id});//用response做一些事情
同样的事情也可以不用async:
db.collection('students')。findOne({“id”:id},函数(err,result){//handle result and error})