有一种方法可以使用nodejs和google云数据存储来获取所有数据。
var query = ContactModel.query();//contact model is a schema which instantiates gstore schema
query.run().then((result) => {
const response = result[0];
var entities = response.entities;
callback('',entities);
});
有没有办法运行自定义查询或只是说使用nodejs和google-datastore的过滤器。我只能找到一个使用nodejs和google-dataStore的查询示例。
答案 0 :(得分:0)
var query = ContactModel.query()
query.filter(key, value)
query.run().then((result) => {
const response = result[0],
entities = response.entities
callback('',entities)
})
过滤函数将根据键和值进行过滤,过滤函数采用可选的第三个参数,第三个是等于,小于等的条件。但是如果只提供两个参数,它将检查是否平等。还有其他功能,如限制,订单,groupBy等。查找文档here。
答案 1 :(得分:0)
我建议你使用gstore-node,它有一个非常简单有效的API,documentation有很多关于如何进行高级查询的例子
对于example in the documentation,详细说明了如何列出所有元素
// blog-post.model.js
// Create Schema
const blogPostSchema = new gstore.Schema({
title : { type: 'string' },
isDraft: { type: 'boolean' }
});
// List query settings
const listQuerySettings = {
limit : 10,
order : { property: 'title', descending: true }, // descending defaults to false and is optional
select : 'title',
ancestors : ['Parent', 123], // will add an "hasAncestor" filter
filters : ['isDraft', false] // operator defaults to "=",
};
// Add settings to schema
blogPostSchema.queries('list', listQuerySettings);
// Create Model
const BlogPost = gstore.model('BlogPost', blogPostSchema);