node.js - 使用 NodeJS 为 MongoDB 增加值(value)

标签 node.js string mongodb text

目前我有数据需要插入到 mongodb 中。数据已成功插入到 mongodb 中,但是我想添加一些值到数据中并将其附加到 mongodb 中。

我该怎么做?这是我的插入数据到 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,

日期:2016 年 10 月 10 日,

时间:上午10点39分

最佳答案

就像评论中已经提到的那样,您应该将数据存储为对象(或数组)。 str.split(",") 行已经返回一个您存储的数组。在您的代码中,您还以数组的形式获取数据。当您使用 console.dir() 结果时,如果您愿意,可以将 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 & 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()

关于node.js - 使用 NodeJS 为 MongoDB 增加值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41423424/

相关文章:

node.js - 使用 Mongoose 时如何实现工厂模式?

node.js - express req.body 为空

javascript - 什么是 AWS S3 存储桶响应中的 Unit8Array

string - Julia 中的 Python 风格多行字符串延续

将特定数量的字符从一个字符串复制到另一个字符串

mongodb - Golang GraphQL MongoDB 努力从数据库中获取日期和 ID

javascript - Controller 如何在 Mongoose 中找到模型架构文件?

javascript - 如果使用参数数组调用,日期会更改结果

java - 如何将一个字符串数组拆分为多个字符串?

javascript - 无法使用 mongodb update() 函数编辑文档