#node.js #mongodb
#node.js #mongodb
Вопрос:
схема игроков:
var mongoose = require('mongoose'),Schema = mongoose.Schema;
var playerSchema = new mongoose.Schema({
name: String,
password: String,
country: [{ type: Schema.Types.ObjectId, ref: 'countries' }]
});
mongoose.model('players', playerSchema);
схема стран:
var mongoose = require('mongoose'),Schema = mongoose.Schema;
var countrySchema = Schema({
name: String,
isActive: Boolean
});
mongoose.model('countries', countrySchema);
И это мой запрос поиска node js:
router.route('/')
.get(function(req, res, next) {
mongoose.model('players').find().populate('country').exec(function (err, players) {
console.log(players);
if (err) {
return console.error(err);
} else {
res.format({
html: function(){
res.render('players/index', {
title: 'Players',
"players" : players
});
},
json: function(){
res.json(players);
}
});
}
});
});
Я хочу, чтобы результат был установлен с идентификатором страны и именем. Но у меня страна равна нулю.Что делать ?
Комментарии:
1. Проверяли ли вы данные в своих коллекциях, если в
players
коллекции есть ссылки наcountries
коллекцию?2. да. данные в порядке. Есть ли какой-либо запрос mongo для поиска в оболочке mongo?
3. Вы могли бы использовать
$lookup
4. Я новичок в mongo. так что, пожалуйста, пришлите мне запрос?
5. Если вы полностью прочтете документацию , вы увидите, что есть четкие примеры того, как запрашивать две коллекции.