Node.js连接示例

本文主要介绍Node.js连接示例。

:官方资料可参考MongoDB Node.js Driver

操作步骤

1.  执行以下命令,进行项目初始化。

mkdir node-mongodb-demo

cd node-mongodb-demo

npm init

2.  执行以下命令安装驱动包以及工具包。

npm install mongodb node-uuid sprintf-js –save

3.  获取DDS实例的连接信息。

4.  Node.js连接代码:

'use strict';

var uuid = require('node-uuid');

var sprintf = require("sprintf-js").sprintf;

var mongoClient = require('mongodb').MongoClient;

var host = "demotest.mongodb.db.cloud.papub";

var port = 15923;

var username = "demouser";

var password = "123456";

var replSetName = "demotest";

var demoDb = "test";

var demoColl = "testColl";

// 官方建议使用的方案

var url = sprintf("mongodb://%s:%d/%s?replicaSet=%s", host, port, demoDb, replSetName);

console.info("url:", url);

//获取mongoClient

mongoClient.connect(url, function (err, db) {

    if (err) {

        console.error("connect err:", err);

        return 1;

    }

    //授权. 这里的username基于test数据库授权

    var adminDb = db.admin();

    adminDb.authenticate(username, password, function (err, result) {

        if (err) {

            console.error("authenticate err:", err);

            return 1;

        }

        //取得Collecton句柄

        var collection = db.collection(demoColl);

        var demoName = "NODE:" + uuid.v1();

        var doc = { "DEMO": demoName, "MESG": "Hello AliCoudDB For MongoDB" };

        console.info("ready insert document: ", doc);

        // 插入数据

        collection.insertOne(doc, function (err, data) {

            if (err) {

                console.error("insert err:", err);

                return 1;

            }

            console.info("insert result:", data["result"]);

            // 读取数据

            var filter = { "DEMO": demoName };

            collection.find(filter).toArray(function (err, items) {

                if (err) {

                    console.error("find err:", err);

                    return 1;

                }

                console.info("find document: ", items);

                //关闭Client,释放资源

                db.close();

            });

        });

    });

});

以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题