findByIdの結果を既存の配列にプッシュしようとしています。私のコードは次のようになります:Mongoose - findByIdの結果を配列に入れません。
var targetArray = []; var groupId; //別の関数からIDを取得します。
Group.findById((groupId), (error, group) => {
targetArray.push(group.toObject());
console.log(targetArray);
}
console.log(targetArray);
第1のログはグループを含む配列を返し、第2のログは空の配列[]を返します。
".toObject()"を使用して試してみましたが、単純な文字列を配列に挿入しようとしました。私がその機能を去った後、すべてが消えました。
これはmongoose固有の質問または一般的なjavascriptであるかどうかわかりませんが、通常、配列に何かをプッシュすると、それ自体が消えません。
皆さん、私が間違っていることを指摘できますか?
この操作は非同期なので、終了するまでに時間がかかり、 'console.log()'の配列が 'targetArray'の配列になるまでにまだ空です。 – Gerardo