程序代码连接MongoDB
相关链接
项目初始化
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);// 获取mongoClientmongoClient.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();});});});});
安装驱动包以及工具包
$ pecl install mongodb$ echo “extension=mongodb.so” >> `php –ini | grep “Loaded Configuration” | sed -e “s|.*:\s*||”`$ composer require “mongodb/mongodb=^1.0.0”
获取云数据库MongoDB的连接信息
请查看 MongoDB 连接信息七要素获取方法。
PHP Demo Code
<?phprequire ‘vendor/autoload.php’; // include Composer goodies# 实例信息$demo_seed1 = ‘demotest-1.mongodb.test.aliyun-inc.com:3717’;$demo_seed2 = ‘demotest-2.mongodb.test.aliyun-inc.com:3717’;$demo_replname = “mgset-1441984463”;$demo_user = ‘root’;$demo_password = ‘123456’;$demo_db = ‘admin’;# 根据实例信息构造mongodb connection string# mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]$demo_uri = ‘mongodb://’ . $demo_user . ‘:’ . $demo_password . ‘@’ .$demo_seed1 . ‘,’ . $demo_seed2 . ‘/’ . $demo_db . ‘?replicaSet=’ . $demo_replname;$client = new MongoDB\Client($demo_uri);$collection = $client->testDb->testColl;$result = $collection->insertOne( [ ‘name’ => ‘ApsaraDB for Mongodb’, ‘desc’ => ‘Hello, Mongodb’ ] );echo “Inserted with Object ID ‘{$result->getInsertedId()}‘”, “\n”;$result = $collection->find( [ ‘name’ => ‘ApsaraDB for Mongodb’] );foreach ($result as $entry){echo $entry->_id, ‘: ‘, $entry->name, “\n”;}
Maven配置
<dependencies><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.0.4</version></dependency></dependencies>
Java Code
import java.util.ArrayList;import java.util.List;import java.util.UUID;import org.bson.BsonDocument;import org.bson.BsonString;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.MongoClientOptions;import com.mongodb.MongoClientURI;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;public class Main {public static ServerAddress seed1 = new ServerAddress(“demotest-1.mongodb.tbc3.newtest.rdstest.aliyun-inc.com”, 27017);public static ServerAddress seed2 = new ServerAddress(“demotest-2.mongodb.tbc3.newtest.rdstest.aliyun-inc.com”, 27017);public static String username = “demouser”;public static String password = “123456”;public static String ReplSetName = “mgset-1441984463”;public static String DEFAULT_DB = “admin”;public static String DEMO_DB = “test”;public static String DEMO_COLL = “testColl”;public static MongoClient createMongoDBClient() {// 构建Seed列表List<ServerAddress> seedList = new ArrayList<ServerAddress>();seedList.add(seed1);seedList.add(seed2);// 构建鉴权信息List<MongoCredential> credentials = new ArrayList<MongoCredential>();credentials.add(MongoCredential.createScramSha1Credential(username,DEFAULT_DB, password.toCharArray()));// 构建操作选项,requiredReplicaSetName属性外的选项根据自己的实际需求配置,默认参数满足大多数场景MongoClientOptions options = MongoClientOptions.builder().requiredReplicaSetName(ReplSetName).socketTimeout(2000).connectionsPerHost(1).build();return new MongoClient(seedList, credentials, options);}public static MongoClient createMongoDBClientWithURI() {//另一种通过URI初始化//mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]MongoClientURI connectionString = new MongoClientURI(“mongodb://” + username + “:” + password + “@” +seed1 + “,” + seed2 + “/” +DEFAULT_DB +“?replicaSet=” + ReplSetName);return new MongoClient(connectionString);}public static void main(String args[]) {MongoClient client = createMongoDBClient();//or//MongoClient client = createMongoDBClientWithURI();try {// 取得Collecton句柄MongoDatabase database = client.getDatabase(DEMO_DB);MongoCollection<Document> collection = database.getCollection(DEMO_COLL);// 插入数据Document doc = new Document();String demoname = “JAVA:” + UUID.randomUUID();doc.append(“DEMO”, demoname);doc.append(“MESG”, “Hello AliCoudDB For MongoDB”);collection.insertOne(doc);System.out.println(“insert document: “ + doc);// 读取数据BsonDocument filter = new BsonDocument();filter.append(“DEMO”, new BsonString(demoname));MongoCursor<Document> cursor = collection.find(filter).iterator();while (cursor.hasNext()) {System.out.println(“find document: “ + cursor.next());}} finally {//关闭Client,释放资源client.close();}return ;}}
安装pymongo
pip install pymongo
获取云数据库MongoDB连接信息
请查看 MongoDB 连接信息七要素获取方法。
import uuidfrom pymongo import MongoClient#两地址CONN_ADDR1 = ‘demotest-1.mongodb.tbc3.newtest.rdstest.aliyun-inc.com:27017’CONN_ADDR2 = ‘demotest-2.mongodb.tbc3.newtest.rdstest.aliyun-inc.com:27017’REPLICAT_SET = ‘mgset-1441984463’username = ‘demouser’password = ‘123456’#获取mongoclientclient = MongoClient([CONN_ADDR1, CONN_ADDR2], replicaSet=REPLICAT_SET)#授权. 这里的user基于admin数据库授权client.admin.authenticate(username, password)#使用test数据库的collection:testColl做例子, 插入doc, 然后根据DEMO名查找demo_name = ‘python-‘ + str(uuid.uuid1())print ‘demo_name:’, demo_namedoc = dict(DEMO=demo_name, MESG=“Hello ApsaraDB For MongoDB”)doc_id = client.test.testColl.insert(doc)print ‘doc_id:’, doc_idfor d in client.test.testColl.find(dict(DEMO=demo_name)):print ‘find documents:’, d
来源:https://help.aliyun.com/document_detail/44630.html?spm=5176.doc54312.6.564.T8kFkL