首页 > 解决方案 > 使用 Node-red 将数据插入外部 mongoDB

问题描述

我是 Node-Red 和 Javascript 的新手。

我正在尝试将一些“键:值”插入外部 MongoDB(不是 Node-red 内的 MongoDB,而是使用 mlab.com 服务的外部 MongoDB)。

我从 mlab(谁为我持有数据库)获得了将一些数据插入到我的数据库的链接。我寻找“如何使用 JS 向 mlab 插入数据”,这是我发现的:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://<dbuser>:<dbpassword>@*******.mlab.com:****/*****";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("customers").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

主要问题是(根据我的理解)Node-red 不是使用“require()”(一些 JS 导入),而是使用一些替换“require()”部分的全局函数。如果我尝试使用“require()”,则会出现错误:“ReferenceError: require is not defined (line 1, col 19)”。我不知道如何实现 globalFunction 并替换“require()”作业。

我的问题是:如何使用从 mlab.com 收到的链接发送数据,而不使用 Node-Red 的“require()”?

标签: mongodbnode-redmlab

解决方案


不要尝试使用函数节点来更新 MongoDB,这会破坏首先使用 Node-RED 的意义。

flow.nodered.org上列出了几个 MongoDB 节点,它们将为您处理一切。


推荐阅读