gpt4 book ai didi

node.js - 如何通过mongojs模块从nodejs查询mongodb? (服务器是openshift)

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:03 25 4
gpt4 key购买 nike

我正在openshift上尝试mongodb和nodejs,使用mongojs在nodejs和mongodb之间进行交互。

在 mongoshell 中,我运行了“use nodejs”并定义了一个“scores”集合。我在其中保存了一些数据并且它正确显示。

在nodeserver的app.js文件中我有

self.routes['/db'] = function(req, res) {
var db = require("./db");
db.scores.find(function(err,docs){res.send(docs);});
};

在 db.js 文件中我有

var dbName = "/nodejs";
var databaseUrl = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" + process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" + process.env.OPENSHIFT_MONGODB_DB_HOST + ":" + process.env.OPENSHIFT_MONGODB_DB_PORT+ dbName;
// "username:password@example.com/mydb"
var collections = ["scores"]
var db = require("mongojs").connect(databaseUrl, collections);
module.exports = db;

当我访问 url mydomain.com/db 时无法获取任何数据

有人可以指出我做错了什么吗?数据库正在连接。我无法从乐谱集合中找到所有内容。

self.routes['/db'] = function(req, res) {
var db = require("./db");
db.scores.find(function(err,docs){res.send(docs);});
};

最佳答案

我认为你应该使用collection方法来使用你的分数集合。就像下面这样:

db.collection('scores').find(function(err,docs){res.send(docs);});

或者使用 toArray 函数来确保检索对象数组。

db.collection('scores').find().toArray(function(err, docs) {
console.dir(docs);
res.send(docs)
}

关于node.js - 如何通过mongojs模块从nodejs查询mongodb? (服务器是openshift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com