本文主要介绍Node.js连接示例。
:官方资料可参考MongoDB Node.js Driver。
操作步骤
1. 执行以下命令,进行项目初始化。
mkdir node-mongodb-demo cd node-mongodb-demo npm init |
2. 执行以下命令安装驱动包以及工具包。
|
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(); }); }); }); }); |