目前我有需要插入mongodb的数据。数据已经成功插入到mongodb中,但是有一些值我想添加到数据中并将其附加到mongodb中。
我该怎么办?这是我的inserting data
到mongodb的代码
var MongoClient = require('mongodb').MongoClient
, format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) {
if(err) throw err;
var collection = db.collection('test_insert');
collection.insert({ values:parsestring() }, function(err, docs) {
collection.count(function(err, count) {
console.log(format("count = %s", count));
});
});
// Locate all the entries using find
collection.find().toArray(function(err, results) {
console.dir(results);
// Let's close the db
db.close();
});
});
// "1,61,54,87,20,12/3/2016,8:39AM" this default value
function parsestring(str="1,30,40,50,20,10/10/2016,10:39AM")
{
return str.split(",");
}
我想为文本字符串添加值。
例如: 机器单位:1,
气温°C:30,
水温°C:40,
加热温度°C:50,
室温°C:20,
日期:10/10/2016,
时间:上午10:39
答案 0 :(得分:1)
与评论中已经提到的一样,您应该将数据存储为对象(或数组)。第str.split(",")
行已经返回了一个存储的数组。在您的代码中,您还可以将数据作为数组获取。当您调试结果时,您可以将results.entries映射到特定的输出字符串。
collection.find().toArray(function(err, results) {
console.dir(results); // <= results.entries
// Let's close the db
db.close();
});
另见: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/map&amp; https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/entries
但是,如果您想存储对象(例如,通过标识符访问数据),您可以这样做:
function parsestring(str="1,30,40,50,20,10/10/2016,10:39AM"){
var dataArr = str.split(",");
var dbEntry = {};
dbEntry.machine = dataArr[0];
dbEntry.airTemp = dataArr[1];
dbEntry.waterTemp = dataArr[2];
dbEntry.heatTemp = dataArr[3];
dbEntry.roomTemp = dataArr[4];
dbEntry.date = dataArr[5];
dbEntry.time = dataArr[6];
return dbEntry;
}
从mongoDB返回一个简单对象时,你不需要.toArray()