MongoDB フィールド値の JavaScript 式の評価
MongoDB では、JavaScript 式の評価に基づいてフィールド値を動的に割り当てることができます。ただし、JavaScript オブジェクトをフィールド値として挿入するだけでは、式は評価されません。
サーバー側のコード実行
MongoDB は、格納するためのメカニズムを提供します。サーバー側で JavaScript 関数を実行します。特別なコレクション system.js には、これらの関数が保存されます。このコレクションにアクセスして関数を実行するには、mgo.Database タイプの Run() メソッドを使用できます。 Run() メソッドは、引数として実行される JavaScript コードを含む eval コマンドを受け取ります。
たとえば、mgo ドライバーを使用して Go から myStoredFunction() という名前のストアド関数を呼び出すには、次のコマンドを使用できます。コード:
db.Run(bson.M{"eval": "myStoredFunction();"})
例
を設定するとします。 lastSeen フィールドを現在のサーバー時間に置き換えます。 system.js で getCurrentTime() という名前のストアド JavaScript 関数を作成できます:
function getCurrentTime() { return (new Date()).toISOString(); }
その後、insert ステートメントで次のようにストアド関数を参照できます:
err := c.Insert( struct{Serial, Priority, Url, LastSeen interface{}}{ Url: getInformedHost() + ":" + getRunningPortString(), Priority: rand.Int(), LastSeen: bson.M{"$eval": "getCurrentTime()"} } )
LastSeen フィールド値で $eval を使用すると、MongoDB は指定された JavaScript 式を評価し、結果をフィールド値として保存します。
以上がMongoDB でフィールド値を動的に割り当てるために JavaScript 式を評価するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。