javascript - 在 OpenShift Gear 上运行 MongoDB 脚本时出错

标签 javascript mongodb openshift mongodb-shell

我编写了一个数据库填充脚本(用 JavaScript),以便我可以轻松地在本地和服务器上运行它。我想从命令行运行它,这样我所要做的就是将其推送到服务器/设备并执行它。该脚本在我的本地运行良好,但当我尝试在 OpenShift gear 上运行它时,出现以下错误:

MongoDB shell version: 2.4.9
connecting to: 127.XX.XXX.X:27017/admin
Sat Sep 12 12:20:25.979 count failed: { "ok" : 0, "errmsg" : "unauthorized" } 
at src/mongo/shell/query.js:180
failed to load: ./Create.js

我正在尝试执行命令:

[xxxxxx-xxxxxx.rhcloud.com scripts]\> mongo ./Create.js

我已经包含了我的文件的内部结构。我省略了所有文档创建的内容。只需知道我将文档添加到数组中即可。

// Switch to the DB we want
var connection;
try {
    // Try to connect to local first
    connection = new Mongo();
}
catch(err) {
    // If error, connect to OpenShift server
    connection = new Mongo('127.XX.XXX.X:27017');
}

db = connection.getDB('xxxxxxx');

// Create array to store documents
var newDocs = [];

...
// Documents are added to newDocs here
...

// If any new documents exist, insert them
if(newDocs.length) {
    var bulk = db.xxxxxxx.initializeUnorderedBulkOp();

    newDocs.forEach(function (doc) {
        bulk.insert(doc);
    });

    bulk.execute();
    print('NEW DOCS INSERTED');
}
else {
    print('NO NEW DOCS');
}

最佳答案

您似乎缺少连接到 openshift 上的 mongodb 数据库的用户名/密码?查看您收到的错误“未经授权...”

关于javascript - 在 OpenShift Gear 上运行 MongoDB 脚本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32541731/

相关文章:

java - Eclipse for openshift 私钥认证失败错误

javascript - React - 无法取消选中单选按钮

mongodb - 如何在 Mongoose 的嵌套填充中选择特定字段

java - ReSTLet 代码可以在本地运行,但在部署时无法运行(在 Openshift 上)

node.js - 为什么我在使用 Openshift 时遇到字体文件权限问题

javascript - Mongoose 查找并创建多维数组

javascript - 下拉菜单不显示

php - Jquery 检查元素是否存在以及条件是否存在

javascript - 未捕获的语法错误 : Unexpected token h error for json option passed as param to a function

node.js - MongoDB Atlas 触发器中的聚合不起作用