我正在研究nodejs并使用mongoose,我正在对_id和函数进行简单搜索,但不会返回结果,尽管id存在于集合中。尽管id存在于集合中,但搜索函数永远不会返回结果
App.js文件
var express = require('express');
var session = require('express-session');
var controllers = require('./controllers');
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/test', function(err){
if(err){
console.log('mongodb could not connect', err);
return err;
}
console.log('Mongodb Connected ..!')
});
var app = express();
var http = require('http').Server(app);
var port = process.env.PORT || 3030;
app.use('/assets', express.static(__dirname + '/public'));
app.set('view engine', 'ejs');
app.use(session({
secret: 'somekey',
resave: false,
saveUninitialized: true
}));
controllers.html(app);
controllers.api(app);
http.listen(port);
api.js文件
var Game = require('../models/game');
app.post('/api/gotobingo75', jsonParser, function(req, res){
Game.findById('59260b9a0067b336a0002237', function(err, g_data){
console.log('here you are', g_data); // Never gets here No matter what
});
});
游戏集合架构
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var childSchema = new Schema({ user: 'string', pattern:'String'});
var gameSchema = new Schema({
room_id : ObjectId,
users : [childSchema],
title : String,
text : String,
deleted : Boolean,
});
var collectionName = 'gameCol'
var Game = mongoose.model('game', gameSchema,collectionName);
module.exports = Game;
奇怪的是搜索开始有时工作,但90%的时间它不是加工。过去3天我一直在寻找这个问题,但没有运气。请帮助
如果你console.log(err)你有什么收获吗? – reedb89
没有。即使尝试过尝试catch,我使用visual studio代码来通过调试做一步,但它没有得到任何数据。 – Gurveer
你可以在app.post()里面记录req.body吗?我真的没有看到太多可以在这里出错的地方。我引用文档时唯一注意到的是var Game = mongoose.model('game',gameSchema)应该是参数。我无法找到一个模型需要3个参数的例子。 http://mongoosejs.com/docs/index.html – reedb89