スキーマ内に ObjectID の配列を設定しようとしています。私は同様の回答を見回しましたが、誰もが少し違ったやり方をしているようで、自分で解決策を見つけることができませんでした.
私のスキーマは次のようになります。
var GameSchema = new Schema({
title: String,
description: String,
location: String,
created_on: { type: Date, default: Date.now },
active: { type: Boolean, default: true },
accepting_players: { type: Boolean, default: true },
players: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
admins: [{
type: Schema.Types.ObjectId,
ref: 'User'
}]
});
これまでのところ、このように入力しようとしていましたが、明らかに機能していません
exports.getAdmins = function(req, res) {
Game.findById(req.params.id)
.populate('admins')
.exec(function(err, game) {
return res.json(200, game.admins);
});
};
母集団に関する質問のリストに追加するのは嫌いですが、多くの質問を調べましたが、解決策が見つかりませんでした。どんな助けでも大歓迎です!
編集:ドキュメントに管理者を追加する方法は次のとおりです
// Add admin to game
exports.addAdmin = function(req, res) {
Game.findByIdAndUpdate(
req.params.id,
{ $push: { 'admins': req.params.user_id }},
function(err, game) {
if(err) { return handleError(res, err); }
if(!game) { return res.send(404); }
return res.json(200, game.admins);
});
};