をサポートしていない私は、エンティティを挿入します。エラー:グローバルクエリが強い整合性
datastore.save({
key: datastore.key(['Users', 'bob']),
method: 'insert',
data: [
{
name: 'email',
value: '[email protected]',
excludeFromIndexes: false
}
]
}, function(err) {
if (!err) {
console.log('insert was a success');
}else{
console.log(err);
}
});
その後、私は電子メールでユーザークエリを実行する:
var query = datastore.createQuery('Users').filter('email', '[email protected]');
datastore.runInTransaction(function(transaction, done) {
transaction.runQuery(query, function(err, entities) {
if (!err) {
//insert another thing into the datastore here ...
}else{
console.log('err = ' + err);
transaction.rollback(done);
return;
}
});
});
をしかし、私はエラーを取得:
をglobal queries do not support strong consistency
ドキュメントのノードの整合性を変更できないので、どのようにクエリを実行しますか?
私はgcloud-nodejsを使用していますか?どのようにしてこれらのクエリを強く一貫させたいのですか?ドキュメントでは、gcloud-nodeでRead consistencyを指定することはできません。どうしてこれなの?これをgcloudでサポートしますか? – user2924127
申し訳ありません私はちょっと混乱しています。これは私の風景です。私は「ユーザー」というKINDを持っています。ここの主体には親や子供がいません。私はいくつかのユーザーを照会する必要があり、それらが見つかった場合、これらのエンティティを「ロック」する必要があります。次に、より多くのエンティティを照会する必要がありますが、今回は、友人というKINDのエンティティにクエリを行う必要があります(これには親や子がありません)。私はユーザーのエンティティを更新する必要があることを知っているので、もう少しFriend Entitiesを挿入する必要があります。これは、すべて、またはまったく原子的でなければなりません。 gcloud-nodeを使用することは可能ですか? – user2924127
親がいない場合は、トランザクションで照会することはできません。 read_consistencyオプションは、整合性レベルを低下させるためにのみ使用できます。強固に一貫性のあるクエリを実行している場合は、パフォーマンス上の理由で最終的な一貫性を求めることができます。 –