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

統合テストでMongoインデックスをテストする方法は?

    春に

    MongoTemplate#indexOps(String collection)を使用 IndexInfoのリストを取得できます 、MongoDBコレクションのインデックスを表します。これは通常のリストなので、hasItem(Matcher<? super T> itemMatcher)の組み合わせでアサーションを実行できます。 およびhasProperty(String propertyName, Matcher<?> valueMatcher)

    final List<IndexInfo> indexes = mongoTemplate.indexOps("myCollection").getIndexInfo();
    assertThat(indexes, hasSize(3));
    assertThat(indexes, hasItem(hasProperty("name", is("_id_"))));
    assertThat(indexes, hasItem(hasProperty("name", is("index1"))));
    assertThat(indexes, hasItem(hasProperty("name", is("index2"))));
    assertThat(indexes, hasItem(hasProperty("indexFields", hasItem(hasProperty("key", is("field1"))))));
    

    これが読みにくい、または手に負えない場合は、カスタムのハムクレストマッチャーを使用したほうがよい場合があります。




    1. $toLowerを使用してMongoDBコレクションを更新します

    2. keystonejsアプリでMongo接続が閉じられました

    3. mongodbの_idを使用して特定の日に挿入された値を取得したい

    4. Mongodbは1日少なく節約できます-タイムゾーンの問題