Ich verwende CosmosDB (node.js via documentdb api) - partitioniert nur mit 'id'.Einfache CosmosDB-Abfrage funktioniert nicht über Node.js - funktioniert aber über den Abfrage-Explorer von Azure
Eine einfache Abfrage (SELECT * FROM c WHERE c.akunaCustomer = "xyz"
) funktioniert einwandfrei von Azure Query Explorer, aber mein Node.js-Code gibt den folgenden Fehler - Ausführen der identischen Abfrage.
code: 400, BadRequest, Cross partition query is required but disabled. Please set x-ms-documentdb-query-enablecrosspartition to true, specify x-ms-documentdb-partitionkey, or revise your query to avoid this exception.
Hier ist mein Code:
var documentClient = require("documentdb").DocumentClient;
var config = require("./config");
var client = new documentClient(config.endpoint, {"masterKey": config.primaryKey});
var databaseUrl = `dbs/${config.database.id}`;
var collectionUrl = `${databaseUrl}/colls/${config.collection.id}`;
client.queryDocuments(collectionUrl,
'SELECT * FROM c WHERE c.akunaCustomer = "xyz"'
).toArray((err, results) => {
if(err) {
console.log(err);
}
else {
for (var queryResult of results) {
let resultString = JSON.stringify(queryResult);
console.log(`Query: ${resultString}`);
}
}
});
Klar bin ich etwas fehlt. . :-(Jede Hilfe würde geschätzt
tx eine Million Mikhail Ich suchte hoch: weil Ihre Abfrage mehrere Partitionen umfasst, Sie
enableCrossPartitionQuery
Optiontrue
festlegen müssen + niedrig für die Syntax, um die enableCrossPartitionQuery auf true zu setzen! Tx du nochmal - ich habe gerade ein it working :-) – dieterb