896
財經資訊
程序代碼連接__連接實例_快速入門_雲數據庫 MongoDB 版-阿裏雲
相關鏈接
Node.js 連接示例
相關鏈接
項目初始化
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();
});
});
});
});
PHP 連接示例
相關鏈接
安裝驅動包以及工具包
$ 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
<?php
require '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 MongoDBClient($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";
}
?>
Java 連接示例
相關鏈接
官方Quick Start。
Jar包下載。
獲取雲數據庫 MongoDB 連接信息
請查看 MongoDB 連接信息七要素獲取方法。
Java Demo Code
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 ;
}
}
Python 連接示例
相關鏈接
安裝pymongo
pip install pymongo
獲取雲數據庫MongoDB連接信息
請查看 MongoDB 連接信息七要素獲取方法。
Python Demo Code
import uuid
from 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'
#獲取mongoclient
client = 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_name
doc = dict(DEMO=demo_name, MESG="Hello ApsaraDB For MongoDB")
doc_id = client.test.testColl.insert(doc)
print 'doc_id:', doc_id
for d in client.test.testColl.find(dict(DEMO=demo_name)):
print 'find documents:', d
最後更新:2016-11-23 16:04:19
上一篇:
Mongo shell 連接__連接實例_快速入門_雲數據庫 MongoDB 版-阿裏雲
下一篇:
數據遷出__快速入門_雲數據庫 MongoDB 版-阿裏雲
消息隊列 Connect broker failed 問題排查__技術分享_技術運維問題_消息隊列 MQ-阿裏雲
解除簽名密鑰與API的綁定__後端簽名密鑰相關接口_API_API 網關-阿裏雲
修改NAT網關規格__NAT網關相關接口_API參考_專有網絡 VPC-阿裏雲
簡單操作 OSS 文件__Spark_開發人員指南_E-MapReduce-阿裏雲
ColumnUpdate__DataType_API 參考_表格存儲-阿裏雲
發展曆史/Release Note__產品簡介_分析型數據庫-阿裏雲
查看物理專線下的邊界路由器列表__高速通道相關接口_API 參考_雲服務器 ECS-阿裏雲
ListEntitiesForPolicy__授權策略管理接口_RAM API文檔_訪問控製-阿裏雲
ListLiveChannel__關於LiveChannel的操作_API 參考_對象存儲 OSS-阿裏雲
采用MySQLdump工具遷移__數據管理工具(DMS)使用_產品使用問題_雲數據庫 RDS 版-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲