【问题标题】:Data not coming from database Mongodb Openshift数据不是来自数据库 Mongodb Openshift
【发布时间】:2017-07-30 18:44:49
【问题描述】:

我在 Openshift 上使用 mongodb 创建了 nodejs(expressjs) 应用程序。 我已经将我的数据库(mehendiDB)推送到了 mongodb 服务器上,我可以通过使用 rockmongo 墨盒在服务器上看到,如下所示

admin(2)
api(3)
local(1)
mehendiDB(5)
  Comments(10)
  Likes(10)
  Posts(8)
  Users(9)
  system.indexes(4)

虽然我可以看到上传到服务器上的数据,但是当我使用 users.js 中的以下代码检索它时,除了一个空数组之外什么都没有。我在users.js中写的代码如下

var express = require('express');
var router = express.Router();
var mongodb = require('mongodb');

router.dbServer = new mongodb.Server(process.env.OPENSHIFT_MONGODB_DB_HOST,parseInt(process.env.OPENSHIFT_MONGODB_DB_PORT));
router.db = new mongodb.Db(process.env.OPENSHIFT_APP_NAME, router.dbServer, {auto_reconnect: true});
router.dbUser = process.env.OPENSHIFT_MONGODB_DB_USERNAME;
router.dbPass = process.env.OPENSHIFT_MONGODB_DB_PASSWORD;

router.db.open(function(err, db){
  if(err){ throw err };
  router.db.authenticate(router.dbUser, router.dbPass, {authdb: "admin"}, function(err, res){
    if(err){ throw err };
  });
});

router.get('/', function (req, res){
    router.db.collection('Users').find().toArray(function(err, names) {
      console.log("Printing output : " + names);
      res.header("Content-Type:","application/json");
      res.end(JSON.stringify(names));
    });
});

module.exports = router;

PS:当我检查日志控制台(nodejs.log)时,我没有收到任何错误。并显示“打印输出”

提前致谢。

【问题讨论】:

    标签: node.js mongodb openshift database


    【解决方案1】:

    您是否验证了您将数据上传到的数据库名称与您在应用程序中使用的 process.env.OPENSHIFT_APP_NAME 相同?

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多