2015-06-03 5 views
0

Я пытаюсь опубликовать приложение-узел для моего Raspberrypi (самое близкое, что у меня есть к выделенному серверу XD) для некоторых моих друзей, чтобы проверить небольшое веб-приложение, которое я написал, но по какой-то причине один из запросов не работает правильно на pi, когда он делает это на моем ide (cloud 9).Отсутствует поле в результатах запроса Mongo/Mongoose

Вот схема:

var campaignSchema = new Schema({ 
    gameMaster: { 
     type: Schema.Types.ObjectId, 
     ref: "Users" 
    }, 
    players: [{ 
     type: Schema.Types.ObjectId , 
     ref: "Users" 
    }], 
    name: String, 
    gameSystem: String, 
    subSystem: String 
}); 

А вот запрос:

db.Campaign.findOne({'_id' : req.params.campaign}, 'gameMaster players') 
.exec(function(err, campaign){ 
    console.log(campaign); 
}); 

Какие результаты в:

{ 
    _id: 556f09195865094845a0d522, 
    players: [] 
} 

Но делать db.campaigns.find({}) в результатах Монго в:

{ 
    "_id" : ObjectId("556f09195865094845a0d522"), 
    "gameMaster" : ObjectId("556d1daf4b9b697213468827"), 
    "gameSystem" : "Nwodv2", 
    "subSystem" : "Demon", 
    "name" : "Baltimore", 
    "players" : [ ], 
    "__v" : 0 
} 

Я чувствую, что мне что-то не хватает ... Я не знаю, как это разрешить, но я попробовал запрос без ограничителя в полях, но он все еще опустил поле gameMaster ...

Edit: на запрос здесь является создание объекта кампании

var campaign = new db.Campaign({ 
     gameMaster: userid, 
     gameSystem: req.body.system, 
     subSystem: req.body.subsystem, 
     name: req.body.name 
    }); 

Чтобы другие вмешивающиеся, этот запрос работает:

db.Campaign.findOne({'_id' : req.params.campaign}, 
    '_id name gameSystem subSystem gameMaster players') 
    .populate('gameMaster', '_id displayName') 
    .populate('players', '_id displayName') 
    .exec(function(err, campaign) { 
     //gameMaster is valid here with the id and displayName populated... 
    }); 
+0

@JohnnyHK Я добавил его в исходное сообщение. Идентификатор пользователя является объективом зарегистрированного пользователя. – comwizz2

+0

@SylvainLeroux Да. Я подтвердил, что Пользователь существует, на который ссылаются. – comwizz2

+0

@JohnnyHK 'module.exports.Campaign = conn.model (" Кампании ", campaignSchema);' Где 'conn' - это соединение мангуста. – comwizz2

ответ

1

https://github.com/Automattic/mongoose/issues/3020

Если у кого-либо еще есть эта проблема. Я нашел этот отчет об ошибке, который может объяснить причину проблемы, это связано с тем, как вы, по-видимому, устанавливаете новый мангуст 4.

Смежные вопросы