問題タブ [upsert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
417 参照

c# - C#でUpsertedMongoドキュメントのID

C#でInsertからMongoDbコレクションへのリターンIDを取得する方法は十分に文書化されています()。しかし、どうすればアップサートされたドキュメントに対してそれを取得できますか?IDを再度クエリする以外に、Updateによって返されたSafeModeResultを使用して、アップサートされたドキュメントIDを見つける方法はありますか?

0 投票する
3 に答える
3701 参照

ruby-on-rails - Ruby on Rails による一括アップサート

外部システムから提供された XML ファイルを Postgres データベースに取り込む必要がある Rails 3 アプリケーションがあります。ActiveRecord-Import のようなものを使用したいのですが、これは Postgres の upsert 機能を処理するようには見えず、取り込む予定のレコードの一部は既に存在しますが、更新する必要があります。

私が読んでいるもののほとんどは、その場で SQL を書くことを推奨していますが、これはすでに解決されているかもしれない問題のようです。私はそれを見つけることができません。

ありがとう。

0 投票する
1 に答える
2238 参照

c# - AzureTableStorageでの新しいアップサートの回避

Steve Marxは、新しいストレージプロトコルバージョンの一部としてAzureTableStorageでアップサートを実行するための新しい拡張メソッドについて次のように書いています。

http://blog.smarx.com/posts/extension-methods-for-the-august-storage-features

ただし、アップサートではなく、無条件のマージまたはスローの元の操作を実行したい場合はどうなりますか。オブジェクトをマージして単一のフィールドを更新したいのですが、マージしているプロパティのみを含む新しいエンティティを作成するのではなく、エンティティが存在しない場合はスローします。

これは可能ですか?他の場所でupsertを使用したいので、IoCに。GetDataServiceContext2011の代わりにから作成されたコンテキストを提供してもらうことにしましたGetDataServiceContext。この2つを交互に使用できると思いますが、Azureチームが公式ライブラリを更新する場合は役に立ちません。

MSDNによると:

エンティティの挿入またはマージ操作はMERGE動詞を使用し、2011-08-18バージョン以降を使用して呼び出す必要があります。また、If-Matchヘッダーは使用しません。これらの属性は、この操作をエンティティの更新操作と区別しますが、要求の本文は両方の操作で同じです。

では、ストレージライブラリに、保存時にワイルドカードIf-Matchをまったく発行しないのではなく、発行させるにはどうすればよいIf-Matchですか?

0 投票する
4 に答える
12604 参照

sql - IF-Statement in SQLite: update or insert?

I Can't run this query with SQLite

It says "Syntax error near IF" How can I solve the problem

0 投票する
3 に答える
5263 参照

sql - ASP Update データベース、存在しない場合は挿入

ループして各行の ID を取得し、データベースをループして csvID を各 dbID と比較する必要がある CSV があります。IDがデータベースに存在する場合は、CSV からの関連情報でレコードを更新します。

しかし、私は(私が知る限り)無限ループに陥っており、そこから抜け出す方法がわかりません。

これは、これを行うための最良の方法でさえないかもしれません。私はここでも提案を受け付けています。しかし、最初にこの作業が必要です。CSV をループし、DB に csvID が存在する場合は DB を更新し、存在しない場合は csvID 行情報を挿入します。

//アップデート

Richard Bensonのおかげで、ほとんどの場合、自分のコードを適切に動作させることができました:

このreplace()機能は姓と名で機能しますが、ミドルネームになると機能しません。そのままにしておくとcsvMiddle = replace(csv.fields(4), "'", "")、ミドルネームフィールドが空になることがあるため、エラーが発生することがあります。これを正しく機能させるにはどうすればよいですか?これは、このコードがスムーズに実行される前の最後の問題である可能性が高いです。

0 投票する
3 に答える
8689 参照

postgresql - node.jsを使用してPostgresでアップサートする

pg拡張子(バージョン0.5.4)のnode.jsを使用して、postgresデータベースに挿入または更新を行おうとしています。

これまでのところ、私はこのコードを持っています:(...)

問題は、両方のクエリは機能しますが、更新が失敗した場合に挿入関数を実行するだけでなく、常に両方を実行しているということです。

コード内のデバッグ関数は、次のように出力します。

アップデート

入れる

** 編集 **

node-postgres開発者からの回答:

挿入と更新の影響を受ける行数を取得することができます。ネイティブバインディングでは完全には実装されていませんが、純粋なjavascriptバージョンでは機能します。私は来週か2週間以内にこれに取り組みます。それまでの間、純粋なjavascriptバージョンを使用して、こちらをご覧ください。

https://github.com/brianc/node-postgres/blob/master/test/integration/client/result-metadata-tests.js

**編集終了**

誰か助けてもらえますか?

0 投票する
2 に答える
1740 参照

oracle - 私のオラクルのマージが機能しません

Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - Prod を実行しています。m2 から m1 にデータをマージしたい。マージ後に m1 に 3 つのレコードが表示されることを期待しています。

しかし、私はすべてを手に入れます。あたかも更新または挿入のチェックが行われていないかのように。

下記参照。

よろしくお願いします、

フィル

0 投票する
2 に答える
1953 参照

mongodb - $ incを使用してMongoose経由でサブドキュメントを更新することは可能ですか?

次のようなドキュメントがあります。

Mongooseforを使用しNode.jsます。訪問数を更新(または挿入)したいのですが。これが私がこれまでに持っているものです。$定位置演算子について読みましたが、かなり離れている可能性があります。

ただし、これは実際にドキュメントを更新または挿入するようには見えません。何か助けはありますか?

編集:モデルを追加しました

これが私のモデルです。metaDetails内のデータは非常に可変である可能性があるため、意図的に配列以外に定義されていません