は(大文字の関数はDBMSの組み込み関数であるかもしれないあなたがmongoDbのドキュメントフィールドにユーザー定義関数(UDF)を適用する方法は?
employee(firstname, lastname, dept)
たちはlastname
は、テーブル内のすべての行のために大文字にしたいとし、次のスキーマを持っていると言うことができますが、それだと仮定することができます我々はmangoDBで同等とは何ですか?
次
Select firstname, toUpper(lastname) as lastname, dept
From employees
を行っているでしょうSQLでUDF)
私たちは、次のJSONsを含むドキュメントemployees
を持っていることを知っ:
...
{ "firstname": "jhon", "lastname": "doe", "dept": "marketing"}
...
{ "firstname": "jean", "lastname": "dupont", "dept": "sales"}
...
目標は直接仕事を得るために余分なJSコードを記述することなく、MongoDBのクエリAPIを使用して変更データを取得することです。
私はMongoDBにUDFを保存/インポートする方法を知っています。 $project
に
db.employees.find().apply_my_udf(....)
「toUpper」は単なる例でした。私は 'my_udf'という名前のUDFを持っています。 'db.employees.aggregate([ {" $ project ":{ " firstname ":1、 "姓} ":{" $ my_udf ":" $ firstname "}、 " dept ":1、 }} ]' – MassyB
@MassyB私は実際にまだ書いていました。ポイントは、サポートされている[集計演算子](https://docs.mongodb.com/manual/reference/operator/aggregation/)を使用するか、結果が返された後に適用します。しかし、集約パイプライン内でJavaScript関数を実行することはできません。それはそれが動作する方法ではない –
ありがとう! 私はサーバー側で解決策を探していました... – MassyB