1
在我簡單的Node/Mongo/Mongoose設置中,我有一個函數調用服務器來查看當前使用的最高ID是什麼,然後返回下一個ID。此功能將回調功能創建一個新的Game
。Mongoose返回Mongo對象,但無法訪問它的屬性
奇怪:本logger.log
因爲它出現下面輸出
result { _id: 555d83d5bb0d4e3c352d896f, gameId: 'NaN' }
但是當我改變記錄器
logger.log("result", result.gameId);
輸出是
result { _id: 555d83d5bb0d4e3c352d896f, gameId: 'NaN' }
這是沒有意義的。顯然,財產在那裏!
這裏是我的代碼
var createGame = function(gameNickname, callback){
nextGameId(function(nextId){
var newgame = new models.Game({
"gameId": Number(nextId),
"gameNickname": gameNickname
});
newgame.save(function(result, game){
callback(result + nextId);
});
});
};
var nextGameId = function(callback){
var games = models.Game.find({}, {gameId: 1});
games.sort('-gameId').limit(1) //get the highest number roundId and add 1 to it
.exec(function (err, result) {
if (err) logger.log(err);
if (result === null){
callback(0);
}
else{
logger.log("result", result);
callback(result.gameId);
}
});
};
這是真棒我沒有聽說過這件事。它效果很好。謝謝! – CodyBugstein