我尝试在node-red中使用mongo连接来存储使用websockets捕获的财务数据流中的记录。
mongo数据库没有定义用户或密码(仅限内部使用),我可以毫无问题地从命令行连接,查看,创建,更新和删除文档而没有任何问题。
然而,当我尝试在node-red中定义mongo conenection时,它失败了。
以下是日志消息:
12 Jan 21:55:13 - [info]
Welcome to Node-RED
===================
12 Jan 21:55:13 - [info] Node-RED version: v0.17.5
12 Jan 21:55:13 - [info] Node.js version: v6.11.1
12 Jan 21:55:13 - [info] Darwin 16.7.0 x64 LE
12 Jan 21:55:14 - [info] Loading palette nodes
12 Jan 21:55:15 - [warn] ------------------------------------------------------
12 Jan 21:55:15 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
12 Jan 21:55:15 - [warn] ------------------------------------------------------
12 Jan 21:55:15 - [info] Settings file : /Users/xxx/.node-red/settings.js
12 Jan 21:55:15 - [info] User directory : /Users/xxx/.node-red
12 Jan 21:55:15 - [info] Flows file : /Users/xxx/.node-red/flows_yyy.lan.json
12 Jan 21:55:15 - [info] Server now running at http://127.0.0.1:1880/
12 Jan 21:55:15 - [info] Starting flows
MongoNode {
id: '3fd17db4.76dcc2',
type: 'mongodb',
z: '',
_closeCallbacks: [],
wires: [],
_wireCount: 0,
send: [Function],
credentials: {},
hostname: 'localhost',
port: '27017',
db: 'cryptoboard',
name: '' }
{ id: '3fd17db4.76dcc2',
type: 'mongodb',
z: '',
hostname: 'localhost',
port: '27017',
db: 'cryptoboard',
name: '',
_users: [ 'c956716f.01d8f' ] }
mongodb://undefined:undefined@localhost:27017/cryptoboard
12 Jan 21:55:15 - [info] Started flows
12 Jan 21:55:15 - [error] [mongodb out:c956716f.01d8f] MongoError: Authentication failed.
12 Jan 21:55:15 - [warn] [websocket-client:719daa1a.430f64] ws:undefined : Error: not opened

以下是流程:
有什么想法?
我正在考虑添加用户和密码,但我还不想这样做;如果没有用户或密码需要它?
答案 0 :(得分:2)
node-red-mongodb
时使用node-red-node-mongodb
(请注意名称中的额外-node
)。
node-red-mongodb
看起来是Node-RED团队发布的“官方”node-red-node-mongodb
节点的一个非常旧的分支,并且缺少一堆修复。
您需要卸载node-red-mongodb
并安装node-red-node-mongodb
版本0.0.13(这是最新版本),这将解决您的问题。