node.js - Mongoose 查询集合不返回结果?

标签 node.js mongodb mongoose

我有一个这样定义的模型:

game.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Game = new Schema({
  game: String,
  lobby_size: Number });

module.exports = mongoose.model('games', Game, 'game_list');

我正在尝试获取集合“game_list”中的所有条目并将它们打印到 console.log 以进行调试

games.js

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Games = require('../models/game.js');

router.get('/list', function(req, res) {
  Games.find({}, function(err, docs) {
    console.log(docs);
  });
});

module.exports = router;

这是我连接到数据库的代码:

app.js

// connect mongoose to db
mongoose.connect('mongodb://localhost/angulobby');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error: '));
db.on('open', function() {
  console.log('connected to database.');
});

当我在 mongoDB shell 中运行 db.game_list.find({}) 时,我得到:

{ "_id": ObjectId("595541d1d01f064117614a28"), "game": "反恐精英:全局攻势", "lobby_size": 5 }

所以我知道集合已填充,但是当我运行 /list api 调用时,console.log 仅打印 []

提前感谢大家的帮助!

最佳答案

找出解决方案。在我的本地 mongoDB 服务器中,我没有正确地将数据库设置为 /angulobby 数据库,因此它没有接收到集合中的信息。发出命令 use angulobby 修复了它,我现在可以收到正确的查询响应。

关于node.js - Mongoose 查询集合不返回结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44833423/

相关文章:

node.js - 运行配置 - 无法连接到运行时进程

mongodb - 为什么使用空条件时 $pull 运算符在 MongoDB 上不起作用?

mongodb - mongo聚合$facet和分组询问

node.js - Mongoose 保存不起作用

sql - Sequelize - 获得零售商后将商店并入零售商

javascript - 是否可以在运行依赖项之前在 gulp 任务中分配一个变量?

MongoDB 按 "number"升序排序

javascript - 回调递归插入 Mongo 与 Node.js

node.js - 无法通过lambda从nodejs代码访问dynamodb

php - 我如何在 MongoDB 中使用 Map/Reduce?