第一种:
var Db = require("mongodb").Db
, MongoClient = require("mongodb").MongoClient
, Server = require("mongodb").Server
, ReplSetServers = require("mongodb").ReplSetServers
, ObjectID = require("mongodb").ObjectID
, Binary = require("mongodb").Binary
, GridStore = require("mongodb").GridStore
, Code = require("mongodb").Code
, BSON = require("mongodb").pure().BSON
, assert = require("assert");
//var mongoclient = new MongoClient(new Server("localhost", 27017, { native_parser: true }));
var mongoclient = new MongoClient(new Server("localhost", 27017), { native_parser: true });
mongoclient.open(function (err, mongoclient) {
var db = mongoclient.db("lks")
, coll = db.collection("users");
coll.insert({ 'username': 'andy', 'age': 24 }, function (err, result) {
//插入操作,第一个参数是要插入的对象,
//第二个参数是个回调函数(包含两个参数err是表示错误信息,
//result表示插入之后返回的结果,此时返回的结果为插入的对象)
assert.equal(null, err);
//assert.equal(1, result);
console.log("insert data success!");
coll.update({ 'username': 'andy' }, { username: 'jack', age: 28 }, { upsert: true }, function (err, result) {
//更新操作,第一个参数为条件(就是以此为条件进行更新)
//第二个参数是更新后的对象
//第三个参数是回调函数(含有两个参数,err表示错误信息,result表示更新返回的结果,如果成功,此时返回1)
assert.equal(null, err); //这个就是判断更新的结果是否正确
assert.equal(1, result);
console.log("update data success!");
mongoclient.close(function (err, result) {
if (err) {
console.log("close the connection occur an err:" + err);
}
else {
console.log(result);
}
});
});
});
});
第二种:
var MongoClient = require("mongodb").MongoClient
, assert = require("assert");
MongoClient.connect("mongodb://localhost:27017/lks", { native_parser: true }, function (err, db) {
//连接数据库:第一个参数是连接数据库字符串和(C#中的连接字符串是一样的
//mongodb://[username:password@]hostname[:port][/[database][?options]]//MongoDB连接串的格式)
//第二个参数可选的配置信息,
// 第三个是回调函数(第一个参数是err如果连接出错,就会包含错误信息,否则为null,
// 第二个参数是db就是连接成功就返回连接字符串中的指定的数据的实例,在接下的代码中就可以对其进行操作
)
assert.equal(null, err);
console.log("connect to server success!");
var coll = db.collection("users");
coll.insert({ username: 'andy' }, function (err, result) {
assert.equal(null, err);
assert.ok(db != null);
console.log("insert data success!");
coll.update({ username: 'andy' }, { username: 'jack', age: 30 }, function (err, result) {
assert.equal(null, err);
assert.equal(1, result);
console.log("update data success!");
db.close(function (err) {
if (err) {
console.log("close connection occur an error:" + err);
}
else {
console.log("close connection success!");
}
});
});
});
});
第三种方式
var Db = require("mongodb").Db
, MongoClient = require("mongodb").MongoClient
, Server = require("mongodb").Server
, assert = require("assert");
var db = new Db("lks", new Server("127.0.0.1", 27017, { auto_reconnect: false, poolSize: 1 }), { w: 0, native_parser: true });
db.open(function (err, db) {
assert.equal(err, null);
assert.ok(db != null);
console.log("connect to db success!");
var coll1 = db.collection("users");
coll1.insert({ username: 'lucy' }, { w: 1 }, function (err, result) {
assert.equal(err, null);
console.log("insert lks'users data success!");
console.log("insert data:" + result);
var secondDb = db.db("microblog")
, coll2 = secondDb.collection("users");
coll2.insert({ username: 'andy' }, { w: 1 }, function (err, result) {
assert.equal(err, null);
console.log("insert into db microblog'users data success!");
console.log("insert data:" + result);
coll1.count(function (err, result) {
console.log("colls count:" + result);
coll2.count(function (err, result) {
console.log("colls count:" + result);
db.close(function (err, result) {
if (err) {
console.log("close db connection error:" + err);
} else {
console.log("close db connection success!");
}
});
});
});
});
});
});
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow