を取り込む必要なデータ照会:マングースは、私は非常に単純であるマングースモデルを持っている
aclSchema = mongoose.Schema({
_id: String,
public_read: Boolean,
public_write: Boolean,
});
aclModel = mongoose.model('acl', aclSchema);
そして、それを参照する別のモデル:
thingSchema = mongoose.Schema({
_id: String,
_acl: { type: String, ref: 'acl' }
});
thingModel = mongoose.model('thing', thingSchema);
私はドキュメントを検索できるようにする必要があります(thingModelを)ここで、_acl.public_readはtrueです。私が抱えている問題は、thing._aclがrefであるため、クエリが完了するまで読み込まれません。
例:
thingModel.find({"_acl.public_read":true}).populate('_acl').exec(callback);
_aclが参照され、それが検索戻っ文書後まで埋めていない、私は推測する、ので、結果を返しません。
ちょっとしたことに、このスキーマはこれよりも複雑で、他には循環参照可能なrefがあります。私は単純化のためにそれらを含めていませんが、基本的な考え方はそこにあります。本当にこの単純な場合、私はサブ文書を使用し、すべて期待どおりに動作します。
これを行うより良い方法はありますか?私は期待される文書を入手しますか?
私が必要としていたものです。 <3.2でそれを行う既知の方法は? – Alex
@Alexの回答が更新されました。 http://stackoverflow.com/questions/19380738/mongoose-nested-query-on-model-by-field-of-its-referenced-model – sidgate