を取得し、ネストされたドキュメント内の要素を追加します。はその後、私は、次のコレクションの定義を持っている_id
私はexpectectedとしてそれが動作
this.findOneAndUpdate({
_id: data.idLocationStructure,
'params._id': data.idLocationStructureParameter },
{ $push: { 'params.$.values': { $each: dataToPush } } },
{ new: true })
特定のパラメータにいくつかの値を追加し、次の要求を持っています。
私が今したいのは、プッシュされた要素の_idを取得することですが、パラメータのすべての値をロードすることはありません。
私はfindOneAndUpdateのselect
オプションを使用しようとしましたが、それは投影を使用して動作しません
:
this.findOneAndUpdate({
_id: data.idLocationStructure,
'params._id': data.idLocationStructureParameter },
{ $push: { 'params.$.values': { $each: dataToPush } } },
{ new: true, select: { 'params.$.values': 1 } })
それは私を取得します。
{
"_id": "57273904135f829c3b0739dd",
"params": [
{},
{},
{},
{}
]
}
私は第2の要求を実行しようとしています_idsも取得できますが、どちらも機能しません。
this.find({
_id: data.idLocationStructure,
'params._id': data.idLocationStructureParameter,
}, { _id: 1, 'params.$.values': { $slice: -nbAdded } })
パラメータのすべての値をロードせずにプッシュされた値の_idをどのようにretievingするかというアイデアは非常に歓迎します:)