MongoDB (Node) findOne 函数在按 ID 搜索时不返回结果
MongoDB (Node) findOne function does not return results when searching by ID
伙计们,我真的不明白我做错了什么。尝试了我在互联网上可以找到的所有内容,但我无法在我的 Node 应用程序中按 ID 获取文档。所以情况是这样的:
如果我在终端中使用MongoDB shell,则会产生:
db.tochten.find({"_id" : ObjectId("577a6640c27dc10de81b265d")})
{ "_id" : ObjectId("577a6640c27dc10de81b265d"), "datum" : "2016-07-07", "weergavedatum" : "donderdag 7 juli", "begintijd" : "20:00", "eindtijd" : "21:00", "schip" : "Ouwe Dirk", "tocht" : "Rondvaart", "maxaantal" : "40", "opemerkingen" : "", "reserveringen" : [ ] }
到目前为止一切顺利吧?
在我的节点应用程序中
//open db connection
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
// Set our collection
var col = db.collection('tochten');
//objectid stuff
var ObjectId = require('mongodb').ObjectID;
var o_id = new ObjectId("577a6640c27dc10de81b265d");
col.findOne({_id:o_id},function(err, docs) {
console.log("Printing docs from Array. count " + JSON.stringify(docs));
});
db.close();
});
生成空值。我真的在这个问题上打破了我的头。有人可以告诉我我做错了什么吗?
您将在
结果到达之前关闭数据库:
col.findOne({_id:o_id},function(err, docs) {
console.log("Printing docs from Array. count " + JSON.stringify(docs));
});
db.close(); // <-- here!
相反,请在结果到达后关闭数据库:
col.findOne({_id:o_id},function(err, docs) {
console.log("Printing docs from Array. count " + JSON.stringify(docs));
db.close();
});
相关文章:
- 如何在一个表的输入中搜索一组特定的值,而不是另一个表's id(s)值以添加css
- 基于某个标记 ID 从 XML 中搜索值
- 隐藏Google自定义搜索元素API 2.0的搜索引擎ID
- 在所有页面中搜索<身体>具有唯一ID
- 根据类型通过 HTML ID 标记进行 JS 搜索是否有限制
- 根据按 id 搜索将数据库的值设置为文本框
- 如何在Liferay搜索组件中获取搜索按钮的ID
- Mozilla javascript 如何获取书签搜索侧边栏文本框的 id
- 如何使用 javascript 在
中搜索字符串,然后添加到该 id - 通过传递 ID 搜索数据表中的数据
- 通过搜索 td 文本获取嵌套表 ID
- 在javascript中搜索Xively feed id
- 与元素 ID 或元素名称/值匹配的正则表达式搜索
- 对于循环搜索ID's的Javascript
- 通过搜索ID号定位图像
- 将textareinnerhtml附加到数组中,然后在数组中搜索id
- 搜索.$也搜索id
- 在javascript的字典数组中搜索id
- RegEx在javascript:搜索ID与排除一些整数
- 提取选择列表的值并使用它来搜索ID值会导致所有剩余的JavaScript失效