0

我有一个类似以下的结构,并试图从数组中删除一项。到目前为止,我还无法弄清楚这一点。有什么建议么?

{
   "_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);

任何指导在这里都会很棒。

4

1 回答 1

1

首先找出您要从中取出一种水果的购物车:

Cart cart = Cart.findById(cartid);

其次找到水果并将其取出:

for (Fruit f: cart.fruit) {
    if (f.name.equals("apple")) {
        cart.fruit.remove(f);
        cart.save();
        break;
    }
}
于 2012-06-10T12:18:12.903 回答