mongodb - 根据_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 肯定存在。
解决方案
在 mongo db _id 是 ObjectId的前缀
所以你首先需要价值试试这个
id = ObjectId("507c7f79bcf86cd7994f6c0e")
然后将其与 ID 进行比较。
希望能帮助到你
推荐阅读
- python - Seaborn:并排绘制 2 个配对图
- java - 在将具有 json 对象形式的 Big Decimal 的 java String 转换为 JSONObject 时,big decimal 的值正在发生变化
- python - 猜数字游戏的输入验证导致错误
- node.js - 如何在 ubuntu 中将 npm 安装时间的等待超时从 30000 毫秒增加到 60000 毫秒
- ios - ITMS-90809:框架上的 UIWebView API 弃用
- woocommerce - woocommerce 缩略图替换为原始图像过滤器
- coq - Coq 导入电源问题
- python - 使用经过训练的 TensorFlow 模型预测单个 PNG 图像
- javascript - Dynamics 365 CE - 如何在 Javascript 中使用 WebApi 取消案例?
- python - 我可以在 tkinter 窗口中滚动按钮吗?