MongoDB起步入门教程使用Node.JS的Promise方式查找数据


发布者 ourjs  发布时间 1638782401213
关键字 Node.JS  数据库 

MongoDB 是一个基于分布式文件存储的数据库。比较适合存放JSON数据。

下面是最简单的一段mongodb代码查找代码,先列出所有的数据库名称:listCollections,再列出某个数据集下的所有数据,如下:

const MongoClient = require('mongodb').MongoClient;

const url = "mongodb://user:passXXXXX:xxxcvxcvxcvxcv:29033/dbXXXXXvp";
const database = "xxxxxx"

MongoClient.connect(url, function(err, client) {
    if (err) throw err;
    console.log("数据库已创建!");

    const allCollections = [];

    client
        .db(database)
        .listCollections()
        .toArray(function(err, collections) {
            if(err) console.log(err);

            console.log(allCollections)

            client
                .db(database)
                .collection('systemLog')
                .find()
                .toArray((err, collections) => {
                    console.log(collections, collections.length)

                    client.close()
                })
        });
});

其实toArray等方法默认返回的是promise对象,上述代码则可简化为:

const MongoClient = require('mongodb').MongoClient;

const url = "mongodb://user:passXXXXX:xxxcvxcvxcvxcv:29033/dbXXXXXvp";
const database = "xxxxxx"

const client = new MongoClient(url, options);

(async() => {
    await client.connect();

    const db = client.db(database);

    const collections = await db.listCollections().toArray();
    console.log(collections.map(collection => collection.name));

    const systemAuditLogs = await db.collection('systemLogs').find().toArray()
    console.log(systemAuditLogs);

    // client.close()
})();

上述代码还需要添加相应的try/catch异常处理代码,这里略









 热门文章 - 分享最多
  1. Node.JS连接MySQL数据库执行增删改查提示ER_NOT_SUPPORTED_AUTH_MODE: Client does not support;如何在@mysql/xdevapi执行SQL
  2. NodeJS在Windows上使用OLE/COM/ActiveXObject对象连接ADODB数据库,操作Application.Excel、运行VBA宏并另存为网页
  3. CSS Grid网格入门实例教程: 强大的动态布局
  4. node.js中async/await不用try/catch,使用error first或go语言方法处理异常
  5. 网站集成百度、Bing必应搜索引擎,在网页中实现站内全文搜索
  6. React Hooks入门教程九:在React中集成使用Vue实现数据双向绑定,手动配置Webpack和Babel
  7. node.js性能压力测试入门教程:wrk和loadtest安装使用
  8. JavaScript和node.js内存泄露的原因和避免方法及Chrome调试工具使用教程
  9. Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息
  10. JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty

 相关阅读
  1. node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置
  2. webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码
  3. node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket
  4. request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载
  5. 用node.js在Windows或Linux平台上高性能解压/压缩zip、tar大文件,输出到文件或Stream流
  6. Node.JS中回调嵌套和async/await执行空函数性能效率对比测试
  7. Node.JS如何按顺序调用async函数,如何判断是否为async函数,在mocha中自动化测试async/await代码
  8. node.js将回调函数嵌套,用promise改造成async/await顺序执行:异常处理和返回多个参数
  9. 基于Node.JS和Electron编写的集成开发环境 VS Code,成为最受欢迎的IDE
  10. 使用node.js和oAuth2协议集成Github/LinkedIn第三方登录以OnceOA模块源码为例

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA