sql >> Databáze >  >> NoSQL >> MongoDB

Jak testovat Mongo indexy v integračních testech?

Na jaře

Pomocí MongoTemplate#indexOps(String collection) můžete načíst seznam IndexInfo , představující indexy kolekce MongoDB. Protože se jedná o běžný seznam, můžete svá tvrzení provádět pomocí kombinace hasItem(Matcher<? super T> itemMatcher) a 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"))))));

Pokud se vám to zdá příliš nečitelné nebo nepraktické, možná byste na tom byli lépe s přizpůsobeným Hamcrest matcherem.




  1. mongodb schema.createIndex není funkce

  2. Vyhledání agregace Mongo 3.6 s více podmínkami

  3. MongoDB v Azure:Jak vybrat správný typ instance?

  4. Jak odstranit vlastnost vnořeného objektu z dokumentu MongoDB?