我有一个像下面这样的结构,我试图从数组中删除一个项目。到目前为止,我还没弄清楚这一点。有什么建议吗?
{
"_id" : "4fd4466c03644ec6ec6d5fe1",
"fruit" : [
{ "id" : "4fd4466c03644ec6ec6d5fdf", "name" : "avocado", "quantity" : "2" },
{ "id" : "4fd4466c03644ec6ec6d5fe0", "name" : "apple", "quantity" : "34" },
]
}
我有一个“购物车”模型,其中有一个名为“fruit”的嵌入式文档。是的,他们是虚假的例子,但解释一个水果车比我正在做的更简单。我接到电话的时间最远。
MorphiaQuery q = Cart.q().filter("_id",cartid);
Cart.o().removeAll("fruit", ?????).update(q);
这里的任何指导都很棒。
答案 0 :(得分:1)
首先找出你要从中删除一个水果的购物车:
Cart cart = Cart.findById(cartid);
然后找到水果并将其移除:
for (Fruit f: cart.fruit) {
if (f.name.equals("apple")) {
cart.fruit.remove(f);
cart.save();
break;
}
}