Morphia查询以查找字段为空值的元素

时间:2018-11-01 18:40:21

标签: mongodb morphia

我正在努力创建Morphia查询(使用类型化的查询类Query<T>)来实现以下目的:

db.getCollection('Order').find({'orderLines.trackingDetails': {$elemMatch: {deliveryDate: {$exists: false}}}})

难题在于如何为{$ exists:false}编码(仅返回trackingDetails包含不存在deliveryDate元素的记录)。

1 个答案:

答案 0 :(得分:0)

我知道了:

DBObject query = BasicDBObjectBuilder.start()
.add("orderLines.trackingDetails",
        new BasicDBObject("$elemMatch",
          new BasicDBObject("deliveryDate",
            new BasicDBObject("$exists", false))))
.get();

Query<Order> q = datastore.createQuery(Order.class, query);