Usuń wpis z tablicy za pomocą sterownika MongoDB-Java
Mam JSON jak:
<code>{ "_id" : "1", "_class" : "com.model.Test", "itemList" : [ { "itemID" : "1", "itemName" : "Foo", "resources" : [ { "resourceID" : "1", "resourceName" : "Foo Test1" }, { "resourceID" : "2", "resourceName" : "Foo Test2" } ] } ] } </code>
Muszę mieć możliwość usunięcia jednego z rekordów itemList. Zrobiłem co następuje:
<code>public void removeItemByID(String docID, String itemID) throws Exception { MongoOperations mongoOperations = mongoConfiguration.getMongoTemplate(); Query query = new Query(where("_id").is(docID).and("itemList.itemID").is(itemID)); mongoOperations.remove(query, Item.class); </code>
}
Takie podejście nie działa. Jednak kiedy użyłem BasicDBObject z podejściem $ pull, działa dobrze! Jaka jest różnica między tymi podejściami!