Java 有没有办法储存很多JID';s

Java 有没有办法储存很多JID';s,java,eclipse,google-app-engine,Java,Eclipse,Google App Engine,我有大约100个客户的电子邮件id用于我的聊天机器人。我可以用JID的数组或smthng来存储许多电子邮件吗? 谢谢。您可以将它们存储在;您可以按如下方式为用户创建实体(只需为每个用户创建一次): 然后,在代码中,您可以通过检查用户的JID是否在数据存储中来查看是否允许用户访问: Query q = new Query("AllowedUser"); q.setFilter(new FilterPredicate("JID", Query.FilterOperator.EQUAL, "[[ us

我有大约100个客户的电子邮件id用于我的聊天机器人。我可以用JID的数组或smthng来存储许多电子邮件吗? 谢谢。

您可以将它们存储在;您可以按如下方式为用户创建实体(只需为每个用户创建一次):

然后,在代码中,您可以通过检查用户的JID是否在数据存储中来查看是否允许用户访问:

Query q = new Query("AllowedUser");
q.setFilter(new FilterPredicate("JID", Query.FilterOperator.EQUAL, "[[ user JID to check ]]");
PreparedQuery pq = datastore.prepare(q);
if (pq.countEntities(FetchOptions.Builder.withLimit(1)) > 0) {
    // user is allowed
} else {
    // user is not allowed
}
这里,我们执行一个查询,从数据存储中获取具有给定JID的所有用户。我们还将结果的数量限制为不超过1个,因为我们只关心它是否存在(并且无论如何不应该有多个具有相同ID的结果)。然后我们查看查询的结果是否有超过零的结果;如果是,那么用户必须在表中,并且他们可以访问。如果他们没有,那么他们就没有


请注意,您还可以从管理控制台中的Datastore Viewer添加实体,因此如果没有太多实体,那么使用该路径而不是第一段代码可能会更容易。

答案是肯定的。你想问一个更具体的问题吗?我要和大约100人进行集体聊天。我是管理员,我可以发送消息。但是他们不能回答我。用户可以回复机器人,机器人将给出预先存储的答案。现在我必须在代码中添加这些人的JID。我想要一个简短的方法,而不是为每个电子邮件id创建一个JID变量。感谢您的快速回复:)您需要为每个用户执行一次,是的。然后我可以为每个用户创建一个JID变量。为什么会这样?你只需要做一次,这样以后添加用户就更容易了。您也可以像我在最后一句中写的那样,从数据存储查看器添加用户,或者编写自己的小型管理界面来添加用户。
Query q = new Query("AllowedUser");
q.setFilter(new FilterPredicate("JID", Query.FilterOperator.EQUAL, "[[ user JID to check ]]");
PreparedQuery pq = datastore.prepare(q);
if (pq.countEntities(FetchOptions.Builder.withLimit(1)) > 0) {
    // user is allowed
} else {
    // user is not allowed
}