2016-10-26 5 views
-2

なぜ新しく挿入されたJSONドキュメントが表示されないのですか?新しく挿入されたJSONドキュメントが表示されないのはなぜですか?

  • Couchbaseの4.5
  • はJavaScript
  • AngularJS
  • のNode.js
  • Expressのサーバー

私は、Webアプリケーション、パフォーマンスデータのメンテナンスを持っています。ユーザーはメニューから操作するデータを選択します。 Webアプリケーションがデータを取得すると、ユーザーは挿入、更新、または削除のオプションを選択できます。私はアプリケーションのいくつかのテストを実行し、問題を発見しました。問題へ

背景:

Couchbaseのサーバには、JavaScript、AngularJSを使って書かれたローカルコンピュータ

アプリケーション、NodeJSエクスプレスServerを実行して

ユーザーがWebアプリケーションに新しいデータを入力するに常駐します。完了すると、ユーザーはJSON文書を挿入または更新するかどうかを決定する更新ボタンを押します。 Webアプリケーションは、ユーザーが新しいデータをデータベースに追加していると判断します。 Webアプリケーションは、データを適切なJSONドキュメント形式に整形します。 Webアプリケーションは、RESTパラダイムを使用してデータをデータベースに送信します。データベースは、成功ステータスをWebアプリケーションに返します。成功したデータベース更新が行われたことを認識すると、Webアプリケーションは、現在の必須データを表示するためにデータを取得します。

問題:

データの新たな検索を確認した後、挿入したばかりのレコードは表示されません。数分待ってから、私は再びデータを取り戻しました。新しく挿入されたデータが表示されます。私はこのプロセスを何回か実行しました。毎回、私はすぐに新しく挿入されたデータを取得できませんでした。

質問:

1000文字未満のJSON文書が挿入後に取得しません、なぜ誰かが私に説明できますか?

新しい挿入データを既存の結果セットに挿入する必要がありますか?その場合、データがデータベースに常駐するのはなぜですか?

TIA

+0

あなたはノードを示すことができました。UIから更新コマンドを受け取ったjsコードは、サーバーを更新して応答を返しますか?すべてのIOコードが非同期であることを忘れないでください。 – plalx

+0

標準のRESTリクエスト(POST)を使用してJSON文書をデータベースに挿入しました。 –

+0

Anthony、ちょうど関連コードを投稿してください。あなたは世界のすべての説明を与えることができますが、それは常に間違っている可能性があります。コードは存在せず、誰もが同じページにいます。参考になるのは、クライアントアプリケーションからの要求を処理し、データベースAPIと対話してクライアントに応答を返すコードを投稿することです。ネイティブデータベースAPIを介して抽象化を作成した場合は、関連する実装の詳細もポストします。 – plalx

答えて

3

は、私はあなたがもしそうなら、あなたはおそらく、パフォーマンスのための即時更新を取引既定の整合性レベルは、上で動作し、N1QLまたは照会ビューについて話していると思います。それがアプリケーションのポイントで重要な場合は、異なる整合性レベルを選択する必要があります。機能の

概要:ビデオデモでhttp://developer.couchbase.com/documentation/server/4.5/architecture/querying-data-with-n1ql.html

ブログ記事:http://blog.couchbase.com/2016/july/n1ql-scan-consistency-including-new-atplus-video

N1QL APIの整合性を変更するには:https://github.com/couchbase/couchnode/blob/771ebf78f82b437999e13b05e4699c88a02dc8d3/lib/n1qlquery.js#L71

+0

POSTのRESTコマンドを使用してデータベースに挿入します。挿入を実行するN1QLステートメントはありませんが、データベースからデータを取得するためにN1QLを使用しました。 –

+0

データを挿入するために使用しているエンドポイントはどれですか? Couchbase用の「標準的な」REST APIはありません。 CouchDBを使用していないのですか?それは共通の「ソファ」しか持たない完全に異なるデータベースです。 – avsej

+0

私はnodejs Couchbase APIをREST POST関数呼び出しで使用しています。 JSONの "description"パッケージからの説明、エンジン、ノードエンジンのエントリは次のとおりです: "公式のCouchbase Node.jsクライアントライブラリ"、 "エンジン":{ "node": "> = 0.8.8 " }、 –

関連する問題