実際、特定のドキュメントの訪問者数をカウントする必要があります。
フィールドを追加し、その値を増やすことでそれを行うことができます。
しかし、問題は次のとおりです。
別の場所に 10 個の複製コピーがあります。スケジュールされた方法で複製されています。ドキュメント数が異なる場所で同じドキュメントを編集しているため、レプリケーションの競合が発生しています。
実際、特定のドキュメントの訪問者数をカウントする必要があります。
フィールドを追加し、その値を増やすことでそれを行うことができます。
しかし、問題は次のとおりです。
別の場所に 10 個の複製コピーがあります。スケジュールされた方法で複製されています。ドキュメント数が異なる場所で同じドキュメントを編集しているため、レプリケーションの競合が発生しています。
これには外部ソリューションを使用します。お気に入りの検索エンジンで「訪問者数」を検索し、サードパーティのツールを選択するだけです。重要な場合は、ページにカウントを表示できます。
何らかの理由で値をデータベースに保存する必要がある場合は、レプリケーションの問題を回避するために、毎回追加される(そして後でクリーンアップされる)新しいドキュメントタイプとして値を保存できます。
それ以外の場合、保存する必要がない場合は、GoogleAnalyticsも検討してください。
また、私はこの問題に直面しました。簡単に解決できるとは言えません。ドキュメントのロックは、私が見つけた唯一の解決策です。ただし、訪問者のカウントはできません。
90 年代にさかのぼると、各人がクリックして署名することなくドキュメントを読んだことを知る必要があるクライアントがいました。
最初の解決策は、それぞれの名前を別の追跡ドキュメントのテキスト フィールドに追加することでした。これは、32k を超える速さで問題が発生しました。その後、私の同僚の 1 人が、各ユーザーがそれを読んだことを記録するためのドキュメントを作成するだけでよいことに気付きました。
1 人のユーザーが一度に 1 つのドキュメントしか開くことができないため、すべてのドキュメントのすべてのユーザーのすべての読み取りを追跡するために 1 つのデータベースを使用できます。新しいドキュメントを開くたびに、その値をフィールドに追加するか、自分の「リーダートラッカー」ドキュメントで読んだドキュメントにちなんで名付けられたフィールド。
または、それをメール受信データベースにすることもできるので、複製について心配する必要はありません。読み取りを追跡したいドキュメントを開くたびに、名前と、「読み取りカウンターデータベース」にメールで送信されるどのドキュメントを読んだかだけが記載された小さなドキュメントが作成されます。誰がそれを読んだかを気にしない場合は、カウントを更新し、郵送されたドキュメントを削除するスケジュールで実行されるエージェントがあります。
この猫の皮を剥ぐ方法は本当にたくさんあります。
可能ですが、ドキュメントを更新することによってではありません。代わりに、読み取られるドキュメントを識別する URL のパラメーターを使用して、エージェントまたはフォームへの AJAX 呼び出しを行います。この呼び出しは、1 つまたは 2 つのビューを使用してドキュメントを追跡 DB に書き込み、それらのビューから読み取った回数を判断します。読み取り回数は、AJAX フォームの戻り値です。
これは、LS、Java、または @Formulas で記述できます。できるだけ効率的にするために、@ Formulasで100%実行しようとします。
同じユーザーまたは同じ送信元 IP アドレスからの読み取りを除外するロジックを追加することもできます。
その後、追跡データベースは、他のデータベースと同じスケジュールを使用してレプリケートします。
@DBLookup の制限を超えないように、毎日または毎時のエージェントを実行して要約ドキュメントを作成し、詳細ドキュメントを削除できます。
ほぼリアルタイムのカウントが必要ない場合 (そして、このような複製システムで取得できるのはこれが最善の方法です)、ログで読み取りを見つけ、サーバーごとのドキュメントでカウントを構築することにより、ドミノが生成する Web ログを使用できます。 .
/初心者