【发布时间】: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