javascript – 如何通过纯NodeJS从MongoDB读取数据?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何通过纯NodeJS从MongoDB读取数据?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1763字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何通过纯NodeJS从MongoDB读取数据?](/upload/InfoBanner/zyjiaocheng/904/8dbc257c9e184c84b4ef98126312c06a.jpg)
我正在尝试使用标准的MongoClient和纯NodeJS从MongoDB中保存和读取一些数据.
问题是我可以写数据但不能读它.
这是我的代码.
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/test";
var db;
MongoClient.connect(url, function (err, database) {
if (err !== null) {
throw err;
}
db = database;
});
读功能
function selectDB(tableName, key, value, callback) {
var req = {};
req[key] = value;
db.collection(tableName).find(req, callback);
}
写功能
function insertDB(tableName, obj) {
db.collection(tableName).insertOne(obj, function (err, res) {
if (err !== null) {
throw err;
} else {
console.log(res);
}
});
}
在使用this将数据插入db后,可以使用Mongo shell找到它.我在shell中成功使用bash find()函数,但在js代码中没有.
更新
现在我将回调传递给这里提到的toArray()函数,但我仍然没有得到结果:回调没有被执行.
我的selectDB()函数现在看起来像这样.
var req = {};
req[key] = value;
db.collection(tableName).find(req).toArray(callback);
更新
这是一些数据查询示例:
贝壳
输入:
> db.users.find({ “电子邮件”: “AA @ AA”})
输出:
{“_ id”:ObjectId(“572ba1a599f59780f549e5e3”),“email”:“aa @ aa”,“password”:“2GU9I8syq2Oyf6rSqJNDVyFPOTRwPg3nyQjSwPXppvM =”}
JS
查询(req变量的键值对):
key =“email”
value =“aa @ aa”
之后,我得到了之前描述的结果.
更新
毕竟这是我的结果处理代码(回调):
//select() here is an alias for selectDB() function declared earlyer
db.select("users", "email", user.email, function (err, cursor) {
if (cursor === undefined || cursor == null || err !== null) {
error();
} else if (cursor.password === user.password) {
success();
} else {
wrong();
}
});
最后执行回调.
始终执行error()函数,因为回调中的游标始终未定义.
如果有人知道我做错了什么以及如何解决它,请回答.
解决方法:
您使用的是什么版本的node-mongodb-native(驱动程序)?在最新的一个find不接受回调作为第二个参数.
内容总结
以上是互联网集市为您收集整理的javascript – 如何通过纯NodeJS从MongoDB读取数据?全部内容,希望文章能够帮你解决javascript – 如何通过纯NodeJS从MongoDB读取数据?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。