如何从nodejs脚本在远程服务器上运行mongo db脚本?

时间:2018-07-16 18:20:16

标签: node.js mongodb azure-functions mongo-shell

我需要在mongodb上运行一些常规的读写操作。我考虑过在远程mongodb服务器上使用js脚本来执行此操作,类似于此处的要求: How to run mongo db script on remote server?

答案如下:

mongo -u user -p password mongodb01d.mydomain.com:27017/mydb yourFile.js

但是,相反,我需要从nodejs代码运行此代码,因为我使用的是Azure Functions,并且我没有运行mongo客户端二进制文件的环境。

因此,我现在想以某种方式做这样的事情:

MongoClient.connect(someUrl, function (err, client) {
    client.load("some script") // <-- Of course client.load doesn't exist.
});

我尝试了类似的db.eval,但是它正在阻止。我想在后台运行任务,并且不要像在外壳程序中运行“ load(...)”那样阻塞我的nodejs脚本。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在节点(如猫鼬)中使用ORM轻松连接到mongo

var mongoose = require('mongoose');
mongoose.set('debug', true);
mongoose.connect('mongodb://{YOUR_MONGO_URL}:{PORT}/{DB_NAME}', { useNewUrlParser: true }, (err) => {
    if (!err)
        console.log('mongo started');
});