如何为GAE数据存储区设置密钥? [英] How to set your key for GAE Datastore?
本文介绍了如何为GAE数据存储区设置密钥?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何人都有一个主意,为什么向/display-message
发出GET
请求时仍然出现此错误? { Error: Key path element must not be incomplete: [created_timestamp: ]
.我没有正确设置密钥吗?您可以在此处 https://jarvis- hd-live-151521.appspot-preview.com/display-message?last_updated=0
Anyone have an idea why I keep getting this error when I make a GET
request to /display-message
? { Error: Key path element must not be incomplete: [created_timestamp: ]
. Am I not setting my key the right way? You can view the backend here https://jarvis-hd-live-151521.appspot-preview.com/display-message?last_updated=0
const key = datastore.key('created_timestamp', 5689413791121408);
app.post('/message', function (request, response) {
let message = request.body.Body;
response.send("<Response><Message>Heyyo!</Message></Response>");
var d = new Date;
var time = d.getTime();
let entity = {
key: key,
data: {
message: message,
created: time
}
};
datastore.upsert(entity)
.then(() => {
console.log("Post UPDATED successfully");
});
});
app.get('/display-message', function(req,res){
let last_updated_time = req.query.last_updated;
function updateMessage(timestamp, message) {
var output = {
success: 1,
data: message,
timestamp: timestamp
};
return res.json(output);
}
function checkMessage() {
console.log("Starting to check message function");
var timeout;
clearTimeout(timeout);
datastore.get(key)
.then((entities) => {
let entity_data = entities[0];
console.log(entity_data);
let message_text = entity_data.message;
let new_timestamp_value = entity_data.created;
if(!last_updated_time || last_updated_time < new_timestamp_value) {
updateMessage(new_timestamp_value, message_text);
}
else {
console.log("No new messages at this time");
timeout = setTimeout(function(){
checkMessage();
}, 1000 * 10); //10 seconds
}
})
.catch(function(){
console.log("Promise Rejected");
console.log(err);
})
};
checkMessage();
});
推荐答案
我相信datastore.key()
需要一个列表:
const key = datastore.key(['created_timestamp', 5689413791121408]);
https://googlecloudplatform.github.io/google-cloud-node/#/docs/datastore/0.6.0/datastore?method=key
这篇关于如何为GAE数据存储区设置密钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文