2017-06-20 4 views
0

私はmongooseとnode.jsでmongo dbを使ってWebアプリケーションを作っています。私は関数を使ってmongo dbの全エントリの "株式"値を更新したいと思います。 mongoメソッドを使用すると、乗算や加算などの特定の関数を実行できますが、固有の関数が必要です。例えば、トピックはマングースのオブジェクトであり、共通のmongo方法は次のようになります。すべての「ストック」に5を追加することによって、1:mongo dbオブジェクトの値を関数でどのように更新しますか?

Topic.update(
    { _id: 1 }, 
    { $inc: { stock: 5 }, 
    { multi: true } 
) 

これは_idを持つすべてのエントリを更新すると言います。 (a * a)+ bのような関数を使いたい場合、aはTopic.updateメソッドの前に定義された変数、bはTopic mongo dbの別のカテゴリです。

1つの方法はTopic.find({})を使用して配列に保存し、次にjavascript配列メソッドで反復し、次にこれをmongoトピックとして保存することです。しかし、これをmongoで簡単にする方法はありませんか?組み込みメソッド?

より広範な質問は、dbsを更新するためのstardard mongoose/mongo/javascriptのプラクティスとワークフロー、さらに重要なのは、どこでそれらを見つけるかです。

答えて

0

mongoメソッドを使用すると、乗算や加算などの特定の機能を実行できますが、固有の関数が必要です。

いいえ、高速にしたい場合は、組み込み演算子に限定されています。あなたのためのカスタム関数はありません。他のフィールドやドキュメントは参照しません。

(残念ですは、本当に。文書内の他のフィールドを参照する必要が1が思うだろう、とても自然です...

関連する問題