나는 Java에 매우 익숙하다. 나는 mongoDB에 아주 새로운 있습니다. 내가 fooType으로 검색 할 수있는 검색 기능을 구현하기 위해 노력하고morphia를 사용하여 mongodb의 객체 목록 내에서 검색
{
"_id" : "1234",
"name" : "bill",
"products" : [
{
"fooType" : "bar",
.....
},
{
"fooType" : "oof",
.....
}
],
"status" : "Truncated"
},
{...}
:
은 내가 이렇게 보이는 컬렉션이 있습니다. 표준 mongodb 구문을 사용하여 작업 쿼리를 만들 수 있지만 morphia를 사용하여 구현하는 방법을 파악할 수는 없습니다.
작업 MongoDB의 쿼리 :
db.Clients.find({products: {$elemMatch: {fooType: "bar"}}})
내가 어떤 성공하지 않고 노력했습니다 일부 내용 (일부) 코드 : 객체를 기대하기 때문에
DatastoreImpl ds;
q = ds.createQuery(Clients.class).field("products").hasThisElement("fooType");
는 분명히 문제가 해결되지 않습니다. hasThisElement를 사용하는 방법에 대해 머리를 감싸는 것처럼 보일 수는 없습니다. 더 이상이 문제를 해결할 가장 좋은 방법인지 확신 할 수 없습니다.
ds.createQuery (Clients.class) .field ("products.fooType"). hasThisElement ("bar")'를 사용해 보셨습니까? –
같은 오류 :'잘못된 매개 변수 : 객체가 예상 됨 ($ elemMatch) ' –