如何通过nodeJS从Google Datastore的索引中排除数组字段?
我正在使用Google数据存储,并将索引属性的大小限制为1500字节。 该文档提到,未索引的属性的限制是1 MB – 89字节。 我有以下结构:
dataset = { property1: String, property2: String, property3: [ { subProperty1: String, subProperty2: ArrayList<String>, // Larger than 1500 bytes excludeFromIndexes: true } ] }
这给出了: “错误:属性”subProperty2“的值大于1500字节”。
它没有工作,我不明白为什么。 有什么build议么?
要从索引中排除数组types属性,数组中的每个元素必须将excludeFromIndexes
设置为true
。 主数组属性不应该设置excludeFromIndexes
。 从GCD控制台编辑数组属性时,数组属性的JSON应如下所示:
{ "values": [ { "stringValue": "a", "excludeFromIndexes": true }, { "stringValue": "b", "excludeFromIndexes": true }, { "stringValue": "c", "excludeFromIndexes": true } ] }
另请注意,1500字节的长度限制应用于数组的每个单独元素,而不是整个数组大小。 所以,如果你select这样做的话,你真的可以在数组中有很长的string,并且仍然能够索引。
另外需要注意的是,您不必从索引中排除数组的所有元素。 你可以挑选哪些元素可以被索引/不可以。
不太熟悉Node.js,但是在API文档中似乎有一个例子(在#save部分滚动页面)。
- Google应用引擎nodejs本地开发
- Google App Engine运行状况检查垃圾邮件应用程序
- 我可以连接到部署在应用程序引擎上的从本地主机部署mongoDB的谷歌云,但不能从同一个应用程序
- 将Node.js应用程序部署到Google App Engine时出现“找不到模块”
- Google云应用引擎重启function无法正常工作
- 在Google数据存储中应用filter后获取不同的项目
- 即使我低于限制,由于运行状况检查时间间隔,部署到Google App Engine也不起作用
- 带有OR条件的Google数据存储filter
- ApiError:禁止从本地Node.js应用程序访问App Engine数据存储