Ho JSON come:Rimuovere una voce dalla array usando driver di MongoDB-Java
{
"_id" : "1",
"_class" : "com.model.Test",
"itemList" : [
{
"itemID" : "1",
"itemName" : "Foo",
"resources" : [
{
"resourceID" : "1",
"resourceName" : "Foo Test1"
}, {
"resourceID" : "2",
"resourceName" : "Foo Test2"
}
]
}
]
}
ho bisogno di essere in grado di rimuovere uno dei dischi di ITEMLIST. Ho fatto quanto segue:
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);
}
Questo approccio non funziona. Tuttavia, quando ho usato BasicDBObject con $ pull, funziona bene! Qual è la differenza tra questi approcci!
L'utilizzo di Bson è simile. Ho messo una [risposta qui] (http://stackoverflow.com/a/37846203/1978082) – HenioJR