2012-06-10 2 views
0

다음과 같은 구조를 가지고 있으며 배열에서 항목 하나를 제거하려고합니다. 나는 이것을 지금까지 파악할 수 없었다. 어떤 제안?Play Morphia를 사용하여 배열 항목을 제거하는 방법

{ 
    "_id" : "4fd4466c03644ec6ec6d5fe1", 
    "fruit" : [ 

     { "id" : "4fd4466c03644ec6ec6d5fdf", "name" : "avocado", "quantity" : "2" }, 
     { "id" : "4fd4466c03644ec6ec6d5fe0", "name" : "apple", "quantity" : "34" }, 

    ] 
} 

"과일"이라고하는 문서가 포함 된 "cart"모델이 있습니다. 그렇습니다. 그것들은 위조 된 예입니다 만, 제가 작업하고있는 것보다 과일 바구니를 설명하는 것이 더 간단합니다. 가장 먼 곳에서 전화가 왔습니다.

MorphiaQuery q = Cart.q().filter("_id",cartid); 
Cart.o().removeAll("fruit", ?????).update(q); 

모든 안내는 여기에 있습니다.

답변

1

먼저 한 과일을 제거하려는 장바구니 찾아 다음 $를 사용하여 더 효율적으로 할 수있는 방법이 있나요

for (Fruit f: cart.fruit) { 
    if (f.name.equals("apple")) { 
     cart.fruit.remove(f); 
     cart.save(); 
     break; 
    } 
} 
+0

을 :

Cart cart = Cart.findById(cartid); 

둘째는 열매를 찾아 제거를 피연산자를 당겨 요? – darren

+0

내가 MongoDB의에서 다음 구문을 볼 수 있지만, 모르핀이 작업을 수행 할 방법을 잘하지 않았다있다. {$ 풀 : {게시물 : {ID : "wwwwwiasdfn234oiasf를"}}} – darren

+0

유감스럽게도 ... 유래 물린에 주석 편집기 :( – darren

관련 문제