问题标签 [google-cloud-datastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
29 回答
81823 浏览

google-app-engine - 如何删除 Google App Engine 中的所有数据存储区?

有谁知道如何删除Google App Engine中的所有数据存储区?

0 投票
2 回答
561 浏览

java - Google App Engine 数据存储不支持运算符 +

我正在玩 GAE,需要使用以下内容进行查询:

但我收到此错误:App Engine 数据存储不支持运算符 +

哪个可能是替换该查询的好方法?

0 投票
3 回答
2638 浏览

java - 应用引擎数据存储:如何在没有连接的情况下实现帖子和标签?

我正在 Google App Engine (Java) 中构建一个应用程序,用户可以在其中发布帖子,我正在考虑为这些帖子添加标签,所以我会有这样的东西:

在实体帖子中:

在实体标签中:

例如,查询具有特定标签的所有帖子很容易,但我如何才能获得所有具有标签列表的帖子?我可以对每个标签进行查询,然后对结果进行交集,但也许有更好的方法......因为很多帖子会很慢。

可能更困难的另一件事是发布帖子,获取具有共同标签的帖子,按常见标签的数量排序,这样我就可以以某种方式获得与该帖子“相似”的帖子。

好吧,有了连接,这会容易得多,但我是从应用引擎开始的,真的想不出一个替换连接的好方法。

谢谢!

0 投票
3 回答
6650 浏览

java - Google App Engine:Memcache 还是静态变量?

好吧,我想我在这里有一个非常基本的疑问:

我正在 GAE (Java) 上开发一个应用程序并对返回大量实体的数据存储执行查询,所以我需要缓存它。我使用的是 memcache,它工作得很好,但是如果我将实体列表保存在一个静态变量中,整个请求的速度是使用 memcache 的两倍。我认为那是因为我并没有一直反序列化实体。

在 memcache 上使用静态变量有什么缺点?我不知道云中是否有我的应用程序的多个实例,因此我的静态变量有几个实例?

我要缓存的实体列表是上周最好的(更高的分数)帖子。我拿了那个列表,随机选择了 5 个帖子,并在几页中显示它们。

谢谢您的帮助!

0 投票
3 回答
912 浏览

java - Google AppEngine (Java) 中的复杂类层次结构

对于我的实体(JDO),是否有可能使用 Java(GAE/J)在 Google AppEngine 中继承/扩展同一类的多个类。例如我有:

  • 内容(抽象类)
  • 课程

然后我的课程将有:

  • 扩展内容的视频列表
  • 书籍清单

同时

  • 视频有标签列表
  • 书有标签列表
  • 课程有标签列表

有可能做GAE吗?

我正在做类似的事情,但有很多问题。有这种东西的例子吗?

0 投票
3 回答
724 浏览

google-app-engine - Google AppEngine Eclipse 插件使用哪个数据库

Google AppEngine Eclipse 插件使用哪个数据库?如何查看 war/WEB-INF/appengine-generated 中的 local_db.bin 文件。是 SQLLite 吗?

0 投票
2 回答
441 浏览

java - 从 Google Datastore 获取对象后为空

在询问是否可以使用 Java 将复杂的类组合保存到 Google AppEngine 中的 Google Datastore 之前,我问了一个问题,但我不够清楚,也懒得发布我的所有课程,但经过数小时的努力,我开始放弃. 所以这里有更详细的代码问题。

我知道这种东西应该可以正常工作,但由于某些未知的原因,这对我来说是行不通的。问题是当我保存我的对象并关闭数据库连接然后再次打开它时,该对象中的数据是空白的。该对象在数据库中,当我选择该对象的 ID 时可以看到它,但其他所有内容都是空白的。不幸的是,谷歌没有数据库查看器来查看该数据库中的内容。我试图搜索并要求一个,但没有运气。(有一个,但它在我的电脑上不起作用)所以,我们开始吧:

内容

课程

视频

文档

标签

持久化并从数据存储中获取数据的代码:

这是输出:

ID:nullTitle:课程标题 - 1247117389679,价格:99.9,标签数量:3 ID:agptYWtzaW1zYXBwcgwLEgZDb3Vyc2UYGAwTitle:课程标题 - 1247117389679,价格:99.9,标签数量:3 java.lang.NullPointerException at com.athena.server。 entity.Course.toString(Course.java:94) 在 com.athena.server.CourseServiceImpl.testCourse(CourseServiceImpl.java:146) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 com.google.gwt.user.server.rpc .RPC.invokeAndEncodeResponse(RPC.java:527) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:166) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:713) 在 javax.servlet.http.HttpServlet .service(HttpServlet.java:806) 在 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) 在com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) 在 org.mortbay.jetty.servlet。 ServletHandler.handle(ServletHandler.java:360) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 在 com.google.apphosting.utils .jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 在 com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService .java:306) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 在 org.mortbay.jetty.Server.handle(Server.java:313) 在 org.mortbay.jetty.HttpConnection。 handleRequest(HttpConnection.java:506) 在 org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint .java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

我知道这个错误意味着字符串为空。但记录在数据库中。而且应该坚持。为什么数据是空白???

有什么建议为什么会发生在我身上?

0 投票
3 回答
1059 浏览

java - 公开 Google Datastore 数据的实体 ID

是否可以保存以公开 Google Datastore 中数据的实体 ID。例如,在我的代码中,我有具有此 ID 的实体:

id 将与此类似:agptZeERtzaWYvSQadLEgZDdRsUYRs

任何人都可以从这个字符串中提取密码、应用程序 url 和任何其他信息吗?那个字符串是什么意思?

0 投票
7 回答
41643 浏览

java - 如何浏览本地 Java App Engine 数据存储?

对于 Google App Engine 的 Java 实现,似乎没有 Python App Engine 的 _ah/admin 等效项。

是否有手动方式可以浏览数据存储?我的机器上的文件在哪里?(我在 OS X 上使用带有 Eclipse 的 App Engine 插件)。

0 投票
6 回答
5113 浏览

google-app-engine - 在 Appengine 数据存储上查询 N 条随机记录

我正在尝试编写一个 GQL 查询,该查询返回 N 个特定类型的随机记录。我当前的实现有效,但需要对数据存储进行 N 次调用。如果可能的话,我想对数据存储进行 1 次调用。

我目前为放入数据存储的每种类型分配一个随机数。当我查询随机记录时,我生成另一个随机数并查询记录 > rand ORDER BY asc LIMIT 1。

这可行,但是,它只返回 1 条记录,所以我需要进行 N 次查询。关于如何进行这一查询的任何想法?谢谢。