如何从 Mongodb 检索特定数据

How to retrive specific data from Mongodb

这是我在 MongoDB 中的数据集合,我想检索模型属性的数据。

{"_id":{"$oid":"61dd83fce198010f26b2f47d"},"assetID":"0001","assetCategory":"Laptop","model":"Asus","serialNumber":"0x001","status":"Non-Available","__v":{"$numberInt":"0"}}

我使用 express js 编写了如下代码段的代码。

router.get("/detail/:id",async(req,res)=>{
let ID = req.params.id;
await Asset.find({_id:ID}).then((assets)=>{
    res.json(assets)
}).catch((err)=>{
    console.log(err)
})

})

在那之后,我能够得到一个像这样的 json 对象。

[
{
    "_id": "61dd83fce198010f26b2f47d",
    "assetID": "0001",
    "assetCategory": "Laptop",
    "model": "Asus",
    "serialNumber": "0x001",
    "status": "Non-Available",
    "__v": 0
}

]

但是我只想获取模型属性的数据。谁能解释一下我应该做哪些更改?谢谢!

试试这个:

await Asset.find({_id:ID},{model:true}).then((assets)=>{

find() 的第二个参数是投影,相当于 SQL 中的 select model ..。您可以根据需要添加任意多个字段,例如

await Asset.find({_id:ID},{model:true, status:true}).then((assets)=>{

请注意,_id 始终会自动返回。您可以按如下方式禁止此操作:

await Asset.find({_id:ID},{model:true, _id:false}).then((assets)=>{