首页 > 解决方案 > 根据_id获取数据

问题描述

我尝试在 nodejs 中查询 MongoDB 以获取我使用的 _id x 的数据

async function getTestData(id){

    return new Promise((resolve, reject) => {

        MongoClient.connect(uri, { useNewUrlParser: true, keepAlive: 1 }, function(err, client) {
            const dbo = client.db("test");
            var query = { _id: id };
            dbo
                .collection("smscripts")
                .find(query)
                .project({ 'data' : 1})
                .toArray(function(err, items) {
                    err
                        ? reject(err)
                        : resolve(items);

                });

        });

    });
}

查询是

{ _id: '5dada7dfdca94dbaf65d9547' }

但我总是得到一个空数组。任何人都可以帮我弄清楚为什么数组总是空的?顺便说一句,err 为空。id 肯定存在。

标签: mongodb

解决方案


在 mongo db _idObjectId的前缀

所以你首先需要价值试试这个

id = ObjectId("507c7f79bcf86cd7994f6c0e")

然后将其与 ID 进行比较。

希望能帮助到你


推荐阅读