gpt4 book ai didi

javascript - 来自 MLab 的 MongoDB : find by ID not working

转载 作者:可可西里 更新时间:2023-11-01 09:06:52 24 4
gpt4 key购买 nike

我一直在努力通过 MongoDB 中的 ID 过滤我的记录,但没有成功。问题出在 $oid

MLAB 上,我的记录如下:

    {
"_id": {
"$oid": "57603891dcba0f7813102b3f"
},
"age": 10,
"name": "john",
"answer": "3",
}

我的脚本为:

     mycollection.find({_id:"57603891dcba0f7813102b3f"},{},{},function(err, docs) {
console.log("record"+docs);
docs.each(function(err, doc) {
if(doc) {
console.log("record"+doc);
}
});
});

这有什么问题?有什么想法吗?

最佳答案

您的脚本的问题在于您正在尝试将普通字符串 "57603891dcba0f7813102b3f" 与 ObjectId 字符串进行比较

{
"$oid": "57603891dcba0f7813102b3f"
},

如果您使用的是 Node.Js,那么您可以执行以下操作

1) 从mongodb包导入ObjectId api

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

2) 在查询中将普通字符串转换为 ObjectId

mycollection.find({_id:ObjectId("57603891dcba0f7813102b3f")},{},{},function(err, docs) {...}

顺便说一句,@titi23 发布的答案也有效。但我发现 ObjectId 转换是一种更简洁的方法。

关于javascript - 来自 MLab 的 MongoDB : find by ID not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com