So,在还没适应印度TWU生活的时候,还是写写MongoDB与CoAP版物联网系统的那些事情吧。
你需要安装有MongoDB,并保证其能启动。
在Mac OS下面有一个叫Robomongo的工具可以方便我们来调试程序
我们用的库是https://github.com/mongodb/node-mongodb-native。
版本
用的是2.0。
在这里引用官方给的例子,于是就有了一次简单的连接测试
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
var url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
db.close();
});
这个测试是只是用于测试是否联上了数据库。
于是我们可以同https://github.com/gmszone/iot-coap一样,配置一个简单的环境。
MongoClient.connect(mongodb_url, function (err, db) {
errorHandler(err);
var insertDocuments = function (db, callback) {
var collection = db.collection(config.mongodb_documents);
collection.insert(config.mongodb_init, function (err, docs) {
callback(docs);
});
};
var findDocuments = function (db, callback) {
var collection = db.collection(config.mongodb_documents);
collection.find(config.mongodb_init[0]).toArray(function (err, docs) {
if (_.isEmpty(docs)) {
insertDocuments(db, function () {
db.close();
});
}
callback(docs);
});
};
findDocuments(db, function () {
db.close();
});
});
接着我们就可以插入这些数据。上面的代码来得有些早,一个简单的插入Documents的代码,如下所示:
var insertDocuments = function(db, callback) {
var collection = db.collection('documents');
collection.insert([
{a : 1}, {a : 2}, {a : 3}
], function(err, result) {
callback(result);
});
}
而我们只是结合了插入和查询来完整一次简单的数据判断,以免一直插入数据。
围观我的Github Idea墙, 也许,你会遇到心仪的项目