我有一个带有多个对象的集合“ companies”。每个对象都有“ _id”参数。我正在尝试从数据库获取此参数:
app.get('/companies/:id',function(req,res){
db.collection("companies",function(err,collection){
console.log(req.params.id);
collection.findOne({_id: req.params.id},function(err, doc) {
if (doc){
console.log(doc._id);
} else {
console.log('no data for this company');
}
});
});
});
因此,我请求公司/ 4fcfd7f246e1464d05000001(4fcfd7f246e1464d05000001是我需要的对象的_id-
parma),并且findOne不返回任何内容,这就是为什么console.log(’该公司没有数据’); 执行。
我绝对确定我有一个带有_id =“ 4fcfd7f246e1464d05000001”的对象。我做错了什么?谢谢!
但是,我刚刚注意到id不是典型的字符串字段。 这就是mViewer显示的内容:
"_id": {
"$oid": "4fcfd7f246e1464d05000001"
},
似乎有点奇怪…
您需要构造ObjectID而不是将其作为字符串传递。这样的事情应该起作用:
var BSON = require('mongodb').BSONPure;
var obj_id = BSON.ObjectID.createFromHexString("4fcfd7f246e1464d05000001");
然后,尝试在find / findOne中使用它。
编辑:正如Ohad在评论中指出的(感谢Ohad!),您还可以使用:
new require('mongodb').ObjectID(req.params.id)
而不是createFromHexString
上面概述的。
我有用于数据库的Spring Boot App和MongoDB。 在数据库中,我有一个集合packageholiday,其中有一些元素,这是JSON: 我的目标是什么: 正如你们所见,我在集合中有这样的数组: 所以我的问题实际上是创建API,它将从集合中返回具有指定的元素。 例如 的API 例如,对于相同的 的API 我怎样才能做到这一点?这样可能吗?
我正在测试一个基于酒店搜索的场景。所以我做了3个模型类,分别是酒店、房间和可用性 下面是我们正在使用的三个模型类。 Hotel.java @文档(集合="酒店")公共类酒店{ } Room.java @文件(收集=“房间”)公共教室{ } 可利用性Java语言 @文件(收集=“房间”)公共类可用性{ } 这些存储在两个mongodb集合中,一个用于酒店,另一个用于房间和可用性。 下面是我们从中提取
问题内容: 我想从Firebase Firestore数据库获取数据。我有一个名为user的集合,每个用户都有一些相同类型的对象(My Java自定义对象)的集合。我想在创建我的活动时用这些对象填充ArrayList。 在onCreate()中: 调用以获取项目列表的方法: 问题答案: 该操作返回a ,这意味着它是一个 异步操作 。调用仅启动操作,它不等待操作完成,因此您必须添加成功和失败侦听器。
我试图从mongo集合中检索一个元素,即具有greatest _id字段的元素。我知道这可以通过查询: 但它似乎有点不优雅,我想知道是否有一种方法可以使用findOne()获取特定元素 注意:我想这样做是因为,根据我在ObjectId中读到的内容,第一个字节对应于从Epoch开始的毫秒,因此,插入的最后一个元素将具有最大的_id。有没有其他方法可以检索插入到集合中的最后一个元素?
我正在我的页面welcomeuser中从此路由获取数据 现在我想使用这个锚标记从来到WelcomeUser.ejs页面的value1中获取userid。我该怎么做呢?这是上面WelcomePage.ejs中的一行,我正在其中获取整个数据。
在第一个屏幕截图中,集合用户中有许多文档。每个文档都包含进一步的集合jobPost,该集合包含进一步的文档及其元数据。 我在这里想要的是去收集用户的每个文档和进一步的子收集jobPost并获取所有文档。假设首先它应该转到集合用户中的文档1,在文档1中它应该获取子集合jobPost中的所有文档,然后它应该转到集合用户的第二个文档,然后获取子集合jobPost中的所有文档,等等。