如何检查Java中的数据存储区中是否存在实体?

时间:2016-01-04 20:51:29

标签: java google-app-engine google-cloud-datastore

好的,情况如下:

我有一个实体Email,其属性为name

Entity email = new Entity("Email");
email.setProperty("name", "John");
datastore.put(email);

我想检查的是,是否存在类型Email的实体,其属性name等于John。可以在Java中实现它吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

属性“name”已编制索引,因此您可以在Email实体上运行查询,以检查是否已存在具有此名称的实体(或多个实体)。例如:

Query q = new Query("Email");
q.setFilter(new FilterPredicate("name", FilterOperator.EQUAL, "John");
List<Entity> entities = datastore.prepare(q).asList(FetchOptions.Builder.withDefaults());
if (entities.isEmpty()) {
    // no entities with name "John"
}