sql >> データベース >  >> NoSQL >> MongoDB

1つのコレクションのすべてのドキュメントで一意の値を持つ配列

    一意の値を別のコレクションに保存する場合は、可能かもしれません。 。次のように構成されます:

    { "uniquestring" : "a", "account" : 111 }
    { "uniquestring" : "b", "account" : 111 }
    { "uniquestring" : "c", "account" : 111 }
    { "uniquestring" : "d", "account" : 222 }
    { "uniquestring" : "e", "account" : 222 }
    { "uniquestring" : "f", "account" : 222 }
    

    私はMongooseの専門家ではありませんが、モデルを定義してコレクションをリンクすることができます。ここでのアカウントフィールドは、アカウントコレクションの_idフィールドを参照しています。

    これで、簡単なインデックスを使用して一意性を適用できます。

    db.uniquestrings.createIndex( { "uniquestring" : 1 } , { unique : true } )
    

    これで、アプリはデータを保存するときにもう少し作業が必要になります(アカウントコレクションだけでなくuniquestringsコレクションにも保存する必要があります)が、これらの文字列の一意性をデータベースレベルで適用できるようになりました。データベース。

    PSの編集は、マングースでそのようなモデルを実装および使用する方法についてのより詳細な知識を持っている人なら誰でも歓迎します。



    1. マングースで2つのフィールドを並べ替える方法は?

    2. MongoDB複合インデックスの使用法

    3. ページ化されたデータと合計を使用したMongo集計

    4. Cloudera Data Science Workbenchと運用データベースを使用した機械学習アプリケーションの構築、パート1:セットアップと基本