如何通过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部分滚动页面)。