0
私は、ドキュメントの配列を約束(.exec)として返すクエリを持っています。
さらに、配列を返す(約束された)関数を持っています。両方ともPromise.allで結合されています。Model.findOneから配列を返しますか?
フィルタを高速化するために、.find
を.findOne
に移動します。しかし、findOne
と私は配列を戻すことはありません。だから私は使用することを決めた.find().limit(1)
私の質問は、これは有効なアプローチではなく、.findOneを使用するのではなく、そうでない場合です:findOneの結果を配列として返す簡単な方法はありますか?たぶん.lean
と?
var query = Model.find({ $and: [ { _id: id },
{ $or: [ { owner: userID },
{ isPublic: true } ]}
]}).limit(1);
Promise.all([query.exec(), this._sources(user)]).then((doc: Array<any>) => {....}
これは役立つかどうかわかりません。 [toArray()](https://docs.mongodb.com/manual/reference/method/cursor.toArray/)を使ってみましたか? – Shrabanee