マングースプリフックfindOneAndUpdateは、別のコレクションから取得する一部のフィールドを変更します

ジョン・ドウ

findOneAndUpdateプリフックでドキュメントを変更しようとしています。コードは以下のとおりです。

userSchema.pre('findOneAndUpdate', function (next) {
// this._update.$set
//var user = new User(this._update.$set)

var promiseArray = []  
promiseArray.push(// Fetching some data from other collection)

Promise.all(promiseArray).then(function (values) {

if (values[0].length === 0) {

  return next('Data not found')
} else {                    
    this._update.$set.salary = values.salary          
    return next()
}
}).catch(function (err) {    
next(err)
})

})

エラーが発生します

TypeError: Cannot read property '$set' of undefined

promise内の「this」キーワードにアクセスしているためにこのエラーが発生する理由を知っています。promise内の「this」はpreメソッドの後の「this」とは異なります。この問題の解決方法、割り当ててこの問題を解決しようとしましたthis._update。$ setは、コメント付きコードの例に示されている別の値に設定されていますが、保存した後はドキュメントを変更せず、this._update。$ set.salaray値を変更するだけで済みます。助けていただければ幸いです

Mr.Js

あなたが使用することができます .bind()

Promise.all(promiseArray).then(function (values) {

if (values[0].length === 0) {

  return next('Data not found')
} else {                    
    this._update.$set.salary = values.salary          
    return next()
}
}.bind(this)).catch(function (err) {    
next(err)
})

})

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数findOneAndUpdateのマングースのポストフックでフィールドが変更されているかどうかを確認します

分類Dev

Android mancj.MaterialSearchBar:リフレクションを使用して一部のAPIレイアウトとウィジェット、フォントファミリー、太字、パディングをオーバーライドおよび変更します

分類Dev

findOneAndUpdate()のプリフックでマングースドキュメントを変更する

分類Dev

光沢のある、フィルターをデータの一部にリンクして、一部のグラフを変更し、他のグラフは変更しないようにするにはどうすればよいですか?

分類Dev

一部のスマートフォンはデスクトップメディアクエリを取得しますか?

分類Dev

ローカルマシンから変更をプッシュすると、受信後フックが一部のコマンドを実行できません

分類Dev

マングースのfindOneAndUpdateメソッドを使用して埋め込みオブジェクトの一部のフィールドを更新し、他のフィールドを失わないようにするにはどうすればよいですか?

分類Dev

マングースは2つのコレクションを結合し、結合されたコレクションから特定のフィールドのみを取得します

分類Dev

C#でのリフレクションによる反復中にクラスフィールドの一部をスキップするにはどうすればよいですか?

分類Dev

一部のWindowsアプリケーションのルックアンドフィールが異なるのはなぜですか?

分類Dev

フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

分類Dev

別のmongodbコレクションからフィールドを取得し、それらのフィールド値を現在のコレクションの配列として追加するにはどうすればよいですか?

分類Dev

リフレクションを介して不変のscalaクラスフィールドを変更する

分類Dev

一部のプロセスに作業ディレクトリまたはルートディレクトリがある場合、ファイルシステムをアンマウントまたは再マウントできますか?

分類Dev

一部のディレクトリ内のファイルのタイムスタンプを変更するためのTouchコマンドに相当するWindowsとは何ですか、Windowsのバッチ組み込みコマンドで実現する方法

分類Dev

一部のマシンでは、アプリがWebアドレスからのJSONフィードの読み取りに失敗します

分類Dev

適切にフォーマットされたJSONファイルの一部のセクションの特定の不明な文字列をbashから埋めて変更し、フォーマットをそのまま維持するにはどうすればよいですか?

分類Dev

MongoDB はコレクション内の json ファイルの一部をインポートします

分類Dev

インプレースコレクションの一部の要素を変更するための適切なデータ構造とは何ですか?

分類Dev

シェルスクリプトを使用して変更された日付でフィルタリングすることにより、hdfsフォルダーから別のhdfsの場所にファイルをコピーします

分類Dev

Twigのコレクションフィールドから値を取得する

分類Dev

mongoexportコマンドの一部であるフィールドのインデックスを作成する必要がありますか?

分類Dev

エントリを作成するPOSTリクエストは、Strapiの別のコレクションにフィールドをマッピングしていません

分類Dev

アノテーション、エンティティクラスでマッピングするときに一部のフィールドを無視することは可能ですか

分類Dev

マングース:別のコレクションの値に基づいてコレクションをフィルタリングする

分類Dev

グリッドビューテンプレートフィールドの一部の色を変更する

分類Dev

文字列プールが Perm Gen Space の一部である場合、ガベージ コレクションは行われますか? もしそうなら、マイナー GC またはフル GC 中に収集されますか?

分類Dev

gcloudコマンドまたは任意のbashスクリプトを使用して、すべてのバージョンから最新のapp-engineバージョンをフィルタリングするにはどうすればよいですか

分類Dev

マングースを使用してmongodbコレクションドキュメントからフィールドの合計を計算する方法

Related 関連記事

  1. 1

    関数findOneAndUpdateのマングースのポストフックでフィールドが変更されているかどうかを確認します

  2. 2

    Android mancj.MaterialSearchBar:リフレクションを使用して一部のAPIレイアウトとウィジェット、フォントファミリー、太字、パディングをオーバーライドおよび変更します

  3. 3

    findOneAndUpdate()のプリフックでマングースドキュメントを変更する

  4. 4

    光沢のある、フィルターをデータの一部にリンクして、一部のグラフを変更し、他のグラフは変更しないようにするにはどうすればよいですか?

  5. 5

    一部のスマートフォンはデスクトップメディアクエリを取得しますか?

  6. 6

    ローカルマシンから変更をプッシュすると、受信後フックが一部のコマンドを実行できません

  7. 7

    マングースのfindOneAndUpdateメソッドを使用して埋め込みオブジェクトの一部のフィールドを更新し、他のフィールドを失わないようにするにはどうすればよいですか?

  8. 8

    マングースは2つのコレクションを結合し、結合されたコレクションから特定のフィールドのみを取得します

  9. 9

    C#でのリフレクションによる反復中にクラスフィールドの一部をスキップするにはどうすればよいですか?

  10. 10

    一部のWindowsアプリケーションのルックアンドフィールが異なるのはなぜですか?

  11. 11

    フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

  12. 12

    別のmongodbコレクションからフィールドを取得し、それらのフィールド値を現在のコレクションの配列として追加するにはどうすればよいですか?

  13. 13

    リフレクションを介して不変のscalaクラスフィールドを変更する

  14. 14

    一部のプロセスに作業ディレクトリまたはルートディレクトリがある場合、ファイルシステムをアンマウントまたは再マウントできますか?

  15. 15

    一部のディレクトリ内のファイルのタイムスタンプを変更するためのTouchコマンドに相当するWindowsとは何ですか、Windowsのバッチ組み込みコマンドで実現する方法

  16. 16

    一部のマシンでは、アプリがWebアドレスからのJSONフィードの読み取りに失敗します

  17. 17

    適切にフォーマットされたJSONファイルの一部のセクションの特定の不明な文字列をbashから埋めて変更し、フォーマットをそのまま維持するにはどうすればよいですか?

  18. 18

    MongoDB はコレクション内の json ファイルの一部をインポートします

  19. 19

    インプレースコレクションの一部の要素を変更するための適切なデータ構造とは何ですか?

  20. 20

    シェルスクリプトを使用して変更された日付でフィルタリングすることにより、hdfsフォルダーから別のhdfsの場所にファイルをコピーします

  21. 21

    Twigのコレクションフィールドから値を取得する

  22. 22

    mongoexportコマンドの一部であるフィールドのインデックスを作成する必要がありますか?

  23. 23

    エントリを作成するPOSTリクエストは、Strapiの別のコレクションにフィールドをマッピングしていません

  24. 24

    アノテーション、エンティティクラスでマッピングするときに一部のフィールドを無視することは可能ですか

  25. 25

    マングース:別のコレクションの値に基づいてコレクションをフィルタリングする

  26. 26

    グリッドビューテンプレートフィールドの一部の色を変更する

  27. 27

    文字列プールが Perm Gen Space の一部である場合、ガベージ コレクションは行われますか? もしそうなら、マイナー GC またはフル GC 中に収集されますか?

  28. 28

    gcloudコマンドまたは任意のbashスクリプトを使用して、すべてのバージョンから最新のapp-engineバージョンをフィルタリングするにはどうすればよいですか

  29. 29

    マングースを使用してmongodbコレクションドキュメントからフィールドの合計を計算する方法

ホットタグ

アーカイブ