我正在研究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