相关链接
MongoDB Node.js Driver
项目初始化mkdir node-mongodb-demo
cd node-mongodb-demo
npm init
安装驱动包以及工具包npm install mongodb node-uuid sprintf-js –save
获取云数据库 MongoDB 连接信息
请查看
MongoDB 连接信息七要素获取方法。
Node.js Demo Code'use strict';
var uuid = require('node-uuid');
var sprintf = require("sprintf-js").sprintf;
var mongoClient = require('mongodb').MongoClient;
var host1 = "demotest-1.mongodb.tbc3.newtest.rdstest.aliyun-inc.com";
var port1 = 27017;
var host2 = "demotest-2.mongodb.tbc3.newtest.rdstest.aliyun-inc.com";
var port2 = 27017;
var username = "demouser";
var password = "123456";
var replSetName = "mgset-1441984991";
var demoDb = "test";
var demoColl = "testColl";
// 官方建议使用的方案
var url = sprintf("mongodb://%s:%d,%s:%d/%s?replicaSet=%s", host1, port1, host2, port2, demoDb, replSetName);
console.info("url:", url);
//获取mongoClient
mongoClient.connect(url, function(err, db) {
if(err) {
console.error("connect err:", err);
return 1;
}
//授权. 这里的username基于admin数据库授权
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();
});
});
});
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这段代码是一个使用Node.js连接阿里云MongoDB数据库并进行基本操作的示例。下面我将根据代码内容,分步骤解释其功能和涉及的阿里云产品知识。
mkdir
创建项目文件夹,通过cd
进入该文件夹,并执行npm init
来初始化一个新的Node.js项目,生成package.json
文件。npm install
命令安装必要的Node.js包,包括:
mongodb
: 官方MongoDB Node.js驱动,用于与MongoDB数据库交互。node-uuid
: 生成唯一ID的库,现已被uuid
库替代,但这里仍使用它来生成文档的唯一标识。sprintf-js
: 字符串格式化工具,用于构造MongoDB连接字符串。sprintf
函数根据上述信息构建MongoDB连接字符串,格式包含主备节点地址、端口、数据库名及副本集名称。mongoClient.connect(url, callback)
方法连接数据库。这里的回调函数处理连接成功或失败的情况。db.admin().authenticate()
方法对用户进行身份验证,确保有权访问数据库。testColl
)中插入一条新文档,文档内容包含一个由uuid.v1()
生成的唯一ID和一条消息。collection.find(filter).toArray()
查询刚插入的文档,并打印结果。db.close()
关闭数据库连接,释放资源。希望以上解析对你有所帮助!如果有更多关于阿里云MongoDB或其他云产品的疑问,请随时提问。