2016-08-24 17 views
0

ドキュメントをコレクションに保存したい。 各ユーザーに最大5件のドキュメントがあります。同じコレクション内の各ユーザーのドキュメント数を制限するMongoDBインデックス

{uid: 1, ad_id: 1} 
{uid: 1, ad_id: 2} 
{uid: 1, ad_id: 3} 
{uid: 1, ad_id: 4} 
{uid: 1, ad_id: 5} 
{uid: 2, ad_id: 6} 
{uid: 2, ad_id: 7} 
{uid: 2, ad_id: 8} 
{uid: 2, ad_id: 9} 
{uid: 2, ad_id: 10} 

は、今、私たちは、文書の最大数は5であるので、我々は最も古いものを削除し、新規doc {uid: 1, ad_id: 11} を持っています。 コレクションは、このようになります。

{uid: 1, ad_id: 11} 
{uid: 1, ad_id: 1} 
{uid: 1, ad_id: 2} 
{uid: 1, ad_id: 3} 
{uid: 1, ad_id: 4} 
{uid: 2, ad_id: 6} 
{uid: 2, ad_id: 7} 
{uid: 2, ad_id: 8} 
{uid: 2, ad_id: 9} 
{uid: 2, ad_id: 10} 

今、私はコード内の番号を確認してください。 mongoがこれを行うことができるインデックスはありますか?おかげさまで

答えて

0

私はそうは思わない、あなたのアプリケーションコードでそれを制御する必要があります。

あなただけのユニーク索引を持つ一つのレコードにではなく、N文書に制限されることがあります。さらに、新しいセーブは前のセーブを上書きするのではなく失敗します。

+0

ありがとうございました。私は最近インタビューを受けた。インタビュアーは、これを処理できる指標があると述べました。私はいくつかの研究をしましたが、私はそれを理解できませんでした。インタビュアーは、私と別のシナリオを話すかもしれません。 :(。 – Jaychou

関連する問題