Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
@zeit/cosmosdb-query
Advanced tools
A SQL parser and executer for Cosmos DB.
const { default: query } = require("@zeit/cosmosdb-query");
const items = [
{ id: "foo" },
{ id: "bar" }
];
const { result } = query("SELECT * FROM c WHERE c.id = @id")
.exec(items, {
parameters: [{ name: "@id", value: "foo" }]
});
console.log(result); // [ { id: "foo" } ]
sql
<string>const q = query("SELECT * FROM c")
items
<Object[]> | <null>options
<Object>
parameters
<Object[]> The parameters to pass to queryudf
<Object>maxItemCount
<number> The number of items to return at a timecontinuation
<Object> Continuation tokenresult
<Object[]> Result documentscontinuation
<Object> Continuation token for subsequent callsExecutes a query for items
.
query(`SELECT VALUE udf.REGEX_MATCH("foobar", ".*bar")`).exec([], {
udf: {
REGEX_MATCH(input, pattern) {
return input.match(pattern) !== null
}
}
});
When the maxItemCount
and/or continuation
options are used,
all itesms have to contain the _rid
field with unique values.
const items = [
{ _rid: "a", value: 1 },
{ _rid: "b", value: 2 },
{ _rid: "c", value: 3 }
];
const q = query(`SELECT * FROM c`);
const { result, continuation } = q.exec(items, { maxItemCount: 2 });
console.log(result); // [ { _rid: "a", value: 1 }, { _rid: "b", value: 2 } ]
const { result: result2 } = q.exec(items, { maxItemCount: 2, continuation });
console.log(result2); // [ { _rid: "c", value: 3 } ]
keys
<string[]>Determines whether query may contain partition keys.
const q = query("SELECT * FROM c WHERE c.id = 1");
if (!q.containsPartitionKeys(["/key"])) {
throw new Error("query doesn't contain partition keys");
}
The AST object of query.
All queries are supported except spatial functions
FAQs
A SQL parser and executer for Cosmos DB
The npm package @zeit/cosmosdb-query receives a total of 698,907 weekly downloads. As such, @zeit/cosmosdb-query popularity was classified as popular.
We found that @zeit/cosmosdb-query demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 82 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.