通过node.js将文档插入mongodb数据库集合

通过node.js将文档插入mongodb数据库集合,node.js,mongodb,insert,node-mongodb-native,Node.js,Mongodb,Insert,Node Mongodb Native,我有一个使用node.js、express和串行端口编写的小型web服务器,它可以不断地监听通过USB连接到mac上的温度传感器。代码如下: var serialport = require("serialport"), // include the serialport library SerialPort = serialport.SerialPort, // make a local instance of serial app = require(

我有一个使用node.js、express和串行端口编写的小型web服务器,它可以不断地监听通过USB连接到mac上的温度传感器。代码如下:

var serialport = require("serialport"),       // include the serialport library
    SerialPort  = serialport.SerialPort,      // make a local instance of serial
    app = require('express')(),           // start Express framework
    server = require('http').createServer(app),   // start an HTTP server
    io = require('socket.io').listen(server);   // filter the server using socket.io

var mongo = require('mongodb');

var Server = mongo.Server,
    Db = mongo.Db,
    BSON = mongo.BSONPure;

var server = new Server('localhost', 27017, {auto_reconnect: true});
db = new Db('sensordatabase', server);

db.open(function(err, db) {
  if(!err) {
    console.log("Connected to 'sensordatabase' database");
    db.collection('tempsensor', {safe:true}, function(err, collection) {
      if (err) {
        console.log("The 'values' collection doesn't exist. Creating it with sample data...");
      }
    });
  }
});

var serialData = {};                // object to hold what goes out to the client
server.listen(8080);                // listen for incoming requests on the server
console.log("Listening for new clients on port 8080");

// open the serial port. Change the name to the name of your port, just like in Processing and Arduino:
var myPort = new SerialPort("/dev/cu.usbmodem5d11", { 
// look for return and newline at the end of each data packet:
  parser: serialport.parsers.readline("\r\n") 
});

// respond to web GET requests with the index.html page:
app.get('/', function (request, response) {
  myPort.on('data', function (data) {
    // set the value property of scores to the serial string:
    serialData.value = data;
    response.send(data);
    // for debugging, you should see this in Terminal:
    console.log(data);
  });
});
从上述代码可以看出,我的传感器值存储在“数据”中

现在,我想将此数据保存到我的tempsensor集合中,该集合具有以下格式:

{
    "Physicalentity": "Temperature",
    "Unit": "Celsius",
    "value": "",
    "time": "",
    "date": ""
  },
我的问题是:

1:如何使用node.js的mongodb驱动程序保存value对象中的“数据”? 2:自动添加数据时,如何添加时间

我知道有一个函数叫做
newdate()
用于日期,有类似的函数用于时间吗

我真的很感激任何帮助


提前感谢您。

您可以这样做,将您的文档插入收藏

db.collection('tempsensor',{safe:true}, function(err, collection) {

collection.insert({
"Physicalentity": "Temperature",
"Unit": "Celsius",
"value": "",
"time": "",
"date": ""
}, function(err, doc) {
  if(err){
     console.log("Error on document insert");
  }else{
     //Document saved succesfuly
     }
  });
});

您可以这样做,将文档插入到集合中

db.collection('tempsensor',{safe:true}, function(err, collection) {

collection.insert({
"Physicalentity": "Temperature",
"Unit": "Celsius",
"value": "",
"time": "",
"date": ""
}, function(err, doc) {
  if(err){
     console.log("Error on document insert");
  }else{
     //Document saved succesfuly
     }
  });
});
使用mongoshell。这意味着你可以在任何mongo驱动程序中使用它


使用mongoshell。这意味着您可以在任何mongo驱动程序中使用它。

请记住,这不是学习教程的地方,这是人们遇到与学习能力无关的技术或软件问题的地方。为了改进这一点,请阅读使用mongodb和使用node.js的示例

以下是一些有关您的情况的详细信息,可供您参考:

在myPort.on('data')上的回调函数中,您可以访问数据,这正是您必须将数据保存到数据库的位置

同时,在初始化数据库连接和集合时,需要获取集合的句柄,以便在以后的应用程序中使用它。 在db.collection('tempsensor')上的回调函数中有对象集合-这是执行mongodb函数以处理该集合中的数据所需的

db.collection('tempsensor',{safe:true}, function(err, collection) {

collection.insert({
"Physicalentity": "Temperature",
"Unit": "Celsius",
"value": "",
"time": "",
"date": ""
}, function(err, doc) {
  if(err){
     console.log("Error on document insert");
  }else{
     //Document saved succesfuly
     }
  });
});
因此,将此变量保存在共享作用域中的某个位置(可以是全局变量或集合数组)


然后在收到数据的回调中,使用此集合并传递Serdar Dogruyol建议的数据。

请记住,这不是学习教程的地方,这是人们遇到与学习能力无关的技术或软件问题的地方。为了改进这一点,请阅读使用mongodb和使用node.js的示例

以下是一些有关您的情况的详细信息,可供您参考:

在myPort.on('data')上的回调函数中,您可以访问数据,这正是您必须将数据保存到数据库的位置

同时,在初始化数据库连接和集合时,需要获取集合的句柄,以便在以后的应用程序中使用它。 在db.collection('tempsensor')上的回调函数中有对象集合-这是执行mongodb函数以处理该集合中的数据所需的

db.collection('tempsensor',{safe:true}, function(err, collection) {

collection.insert({
"Physicalentity": "Temperature",
"Unit": "Celsius",
"value": "",
"time": "",
"date": ""
}, function(err, doc) {
  if(err){
     console.log("Error on document insert");
  }else{
     //Document saved succesfuly
     }
  });
});
因此,将此变量保存在共享作用域中的某个位置(可以是全局变量或集合数组)


然后在收到数据的回调中,使用此集合并传递Serdar Dogruyol建议的数据。

如何将变量数据插入对象值?如何将变量数据插入对象值?