Skip to content
This page View Markdown Open in ChatGPT Open in Claude

Query for get data by stream

The code in every language

Each example is the inside of main, written in every language API Maker runs : pick yours in the tabs, and every page shows it from then on. The types a call takes (GetAll, DeepItem…) are those of am : from am import GetAll in Python, use am::GetAll; in Rust, import am.GetAll; in Java and Kotlin ; PHP and C# have them without an import, Go names them am.GetAll.

Simple query by stream

Simple query by stream to get data
1
2
3
4
5
6
7
8
9
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
}, (obj) => {
    response.push(obj);
});
Simple query by stream to get data
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
    ),
    response.append,
)
Simple query by stream to get data
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
Simple query by stream to get data
1
2
3
4
5
6
7
8
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
}, obj => response.Add(obj));
Simple query by stream to get data
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
Simple query by stream to get data
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
Simple query by stream to get data
1
2
3
4
5
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    )), obj -> response.add(obj));
Simple query by stream to get data
1
2
3
4
5
6
7
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        )),
) { obj -> response.add(obj) }

query by stream [headers]

query by stream headers
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    headers: {
        "x-am-response-case": "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
    },
}, (obj) => {
    response.push(obj);
});
query by stream headers
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        headers={
            'x-am-response-case': 'capitalCase',  # noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        },
    ),
    response.append,
)
query by stream headers
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        headers: [
            'x-am-response-case' => 'capitalCase', // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream headers
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Headers = new JsonObject
    {
        ["x-am-response-case"] = "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
    },
}, obj => response.Add(obj));
query by stream headers
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Headers: am.M{
        "x-am-response-case": "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream headers
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .headers(json!({
            "x-am-response-case": "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream headers
1
2
3
4
5
6
7
8
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .headers(Map.of(
        "x-am-response-case", "capitalCase" // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
    )), obj -> response.add(obj));
query by stream headers
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .headers(mapOf(
            "x-am-response-case" to "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        )),
) { obj -> response.add(obj) }

query by stream [select]

query by stream select
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    select: "first_name"
}, (obj) => {
    response.push(obj);
});
query by stream select
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        select='first_name',
    ),
    response.append,
)
query by stream select
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        select: 'first_name',
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream select
1
2
3
4
5
6
7
8
9
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Select = "first_name",
}, obj => response.Add(obj));
query by stream select
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Select: "first_name",
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream select
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .select("first_name"),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream select
1
2
3
4
5
6
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .select("first_name"), obj -> response.add(obj));
query by stream select
1
2
3
4
5
6
7
8
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .select("first_name"),
) { obj -> response.add(obj) }

query by stream [limit]

query by stream limit
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    limit: 2
}, (obj) => {
    response.push(obj);
});
query by stream limit
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        limit=2,
    ),
    response.append,
)
query by stream limit
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        limit: 2,
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream limit
1
2
3
4
5
6
7
8
9
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Limit = 2,
}, obj => response.Add(obj));
query by stream limit
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Limit: 2,
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream limit
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .limit(2),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream limit
1
2
3
4
5
6
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .limit(2), obj -> response.add(obj));
query by stream limit
1
2
3
4
5
6
7
8
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .limit(2),
) { obj -> response.add(obj) }

query by stream[skip]

query by stream skip
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    skip: 1
}, (obj) => {
    response.push(obj);
});
query by stream skip
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        skip=1,
    ),
    response.append,
)
query by stream skip
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        skip: 1,
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream skip
1
2
3
4
5
6
7
8
9
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Skip = 1,
}, obj => response.Add(obj));
query by stream skip
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Skip: 1,
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream skip
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .skip(1),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream skip
1
2
3
4
5
6
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .skip(1), obj -> response.add(obj));
query by stream skip
1
2
3
4
5
6
7
8
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .skip(1),
) { obj -> response.add(obj) }

query by stream [sort]

query by stream sort
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    sort: "first_name"
}, (obj) => {
    response.push(obj);
});
query by stream sort
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        sort='first_name',
    ),
    response.append,
)
query by stream sort
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        sort: 'first_name',
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream sort
1
2
3
4
5
6
7
8
9
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Sort = "first_name",
}, obj => response.Add(obj));
query by stream sort
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Sort: "first_name",
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream sort
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .sort("first_name"),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream sort
1
2
3
4
5
6
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .sort("first_name"), obj -> response.add(obj));
query by stream sort
1
2
3
4
5
6
7
8
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .sort("first_name"),
) { obj -> response.add(obj) }

query by stream [deep]

query by stream deep
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find:{
        "first_name": "Bob"
    },
    deep: [
        {
            s_key: "customer_id",
            t_instance: "mysql",
            t_db: "inventory",
            t_col: "products",
            t_key: "owner_id",
        }
    ],
}, (obj) => {
    response.push(obj);
});
query by stream deep
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': 'Bob',
        },
        deep=[
            DeepItem(
                'customer_id',
                t_instance='mysql',
                t_db='inventory',
                t_col='products',
                t_key='owner_id',
            ),
        ],
    ),
    response.append,
)
query by stream deep
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
        deep: [
            new DeepItem(
                'customer_id',
                tInstance: 'mysql',
                tDb: 'inventory',
                tCol: 'products',
                tKey: 'owner_id',
            ),
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream deep
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
    Deep = new[]
    {
        new DeepItem("customer_id")
        {
            TInstance = "mysql",
            TDb = "inventory",
            TCol = "products",
            TKey = "owner_id",
        },
    },
}, obj => response.Add(obj));
query by stream deep
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
    Deep: []am.DeepItem{
        {
            SKey:      "customer_id",
            TInstance: "mysql",
            TDb:       "inventory",
            TCol:      "products",
            TKey:      "owner_id",
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream deep
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": "Bob",
        }))
        .deep(vec![
            DeepItem::new("customer_id")
                .t_instance("mysql")
                .t_db("inventory")
                .t_col("products")
                .t_key("owner_id"),
        ]),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream deep
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", "Bob"
    ))
    .deep(List.of(
        new DeepItem("customer_id")
            .tInstance("mysql")
            .tDb("inventory")
            .tCol("products")
            .tKey("owner_id")
    )), obj -> response.add(obj));
query by stream deep
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        ))
        .deep(listOf(
            DeepItem("customer_id")
                .tInstance("mysql")
                .tDb("inventory")
                .tCol("products")
                .tKey("owner_id"),
        )),
) { obj -> response.add(obj) }

$lt [less than] query

less than query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$lt": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
less than query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$lt': 2,
            },
        },
    ),
    response.append,
)
less than query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$lt' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
less than query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$lt"] = 2,
        },
    },
}, obj => response.Add(obj));
less than query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$lt": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
less than query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$lt": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
less than query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$lt", 2
        )
    )), obj -> response.add(obj));
less than query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$lt" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$lte [less than equal] query

less than equal query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$lte": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
less than equal query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$lte': 2,
            },
        },
    ),
    response.append,
)
less than equal query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$lte' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
less than equal query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$lte"] = 2,
        },
    },
}, obj => response.Add(obj));
less than equal query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$lte": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
less than equal query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$lte": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
less than equal query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$lte", 2
        )
    )), obj -> response.add(obj));
less than equal query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$lte" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$gt [greater than] query

greater than query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$gt": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
greater than query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$gt': 2,
            },
        },
    ),
    response.append,
)
greater than query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$gt' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
greater than query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$gt"] = 2,
        },
    },
}, obj => response.Add(obj));
greater than query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$gt": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
greater than query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$gt": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
greater than query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$gt", 2
        )
    )), obj -> response.add(obj));
greater than query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$gt" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$gte [greater than equal] query

greater than equal query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$gte": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
greater than equal query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$gte': 2,
            },
        },
    ),
    response.append,
)
greater than equal query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$gte' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
greater than equal query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$gte"] = 2,
        },
    },
}, obj => response.Add(obj));
greater than equal query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$gte": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
greater than equal query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$gte": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
greater than equal query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$gte", 2
        )
    )), obj -> response.add(obj));
greater than equal query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$gte" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$eq [equal to] query

$eq query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$eq": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
$eq query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$eq': 2,
            },
        },
    ),
    response.append,
)
$eq query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$eq' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$eq query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$eq"] = 2,
        },
    },
}, obj => response.Add(obj));
$eq query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$eq": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$eq query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$eq": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$eq query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$eq", 2
        )
    )), obj -> response.add(obj));
$eq query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$eq" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$ne [not equal to] query

$ne query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$ne": 2
        }
    }
}, (obj) => {
    response.push(obj);
});
$ne query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$ne': 2,
            },
        },
    ),
    response.append,
)
$ne query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$ne' => 2,
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$ne query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$ne"] = 2,
        },
    },
}, obj => response.Add(obj));
$ne query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$ne": 2,
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$ne query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$ne": 2,
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$ne query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$ne", 2
        )
    )), obj -> response.add(obj));
$ne query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$ne" to 2,
            ),
        )),
) { obj -> response.add(obj) }

$not [not] query

$not query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        customer_id: {
            "$not": {
                "$in": [1, 2, 3, 4]
            }
        }
    }
}, (obj) => {
    response.push(obj);
});
$not query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$not': {
                    '$in': [1, 2, 3, 4],
                },
            },
        },
    ),
    response.append,
)
$not query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$not' => [
                    '$in' => [1, 2, 3, 4],
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$not query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$not"] = new JsonObject
            {
                ["$in"] = new JsonArray { 1, 2, 3, 4 },
            },
        },
    },
}, obj => response.Add(obj));
$not query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$not": am.M{
                "$in": []any{1, 2, 3, 4},
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$not query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$not": {
                    "$in": [1, 2, 3, 4],
                },
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$not query
1
2
3
4
5
6
7
8
9
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$not", Map.of(
                "$in", List.of(1, 2, 3, 4)
            )
        )
    )), obj -> response.add(obj));
$not query
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$not" to mapOf(
                    "\$in" to listOf(1, 2, 3, 4),
                ),
            ),
        )),
) { obj -> response.add(obj) }

$and [and] query

$and query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "$and": [
            {
                "customer_id": 2
            },
            {
                "zipcode": 7171
            }
        ]
    }
}, (obj) => {
    response.push(obj);
});
$and query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            '$and': [
                {
                    'customer_id': 2,
                },
                {
                    'zipcode': 7171,
                },
            ],
        },
    ),
    response.append,
)
$and query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            '$and' => [
                [
                    'customer_id' => 2,
                ],
                [
                    'zipcode' => 7171,
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$and query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["$and"] = new JsonArray
        {
            new JsonObject
            {
                ["customer_id"] = 2,
            },
            new JsonObject
            {
                ["zipcode"] = 7171,
            },
        },
    },
}, obj => response.Add(obj));
$and query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "$and": []any{
            am.M{
                "customer_id": 2,
            },
            am.M{
                "zipcode": 7171,
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$and query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "$and": [
                {
                    "customer_id": 2,
                },
                {
                    "zipcode": 7171,
                },
            ],
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$and query
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "$and", List.of(
            Map.of(
                "customer_id", 2
            ),
            Map.of(
                "zipcode", 7171
            )
        )
    )), obj -> response.add(obj));
$and query
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "\$and" to listOf(
                mapOf(
                    "customer_id" to 2,
                ),
                mapOf(
                    "zipcode" to 7171,
                ),
            ),
        )),
) { obj -> response.add(obj) }

$or [or] query

$or query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "$or": [
            {
                "customer_id": 2
            },
            {
                "zipcode": 7171
            }
        ]
    }
}, (obj) => {
    response.push(obj);
});
$or query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            '$or': [
                {
                    'customer_id': 2,
                },
                {
                    'zipcode': 7171,
                },
            ],
        },
    ),
    response.append,
)
$or query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            '$or' => [
                [
                    'customer_id' => 2,
                ],
                [
                    'zipcode' => 7171,
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$or query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["$or"] = new JsonArray
        {
            new JsonObject
            {
                ["customer_id"] = 2,
            },
            new JsonObject
            {
                ["zipcode"] = 7171,
            },
        },
    },
}, obj => response.Add(obj));
$or query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "$or": []any{
            am.M{
                "customer_id": 2,
            },
            am.M{
                "zipcode": 7171,
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$or query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "$or": [
                {
                    "customer_id": 2,
                },
                {
                    "zipcode": 7171,
                },
            ],
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$or query
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "$or", List.of(
            Map.of(
                "customer_id", 2
            ),
            Map.of(
                "zipcode", 7171
            )
        )
    )), obj -> response.add(obj));
$or query
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "\$or" to listOf(
                mapOf(
                    "customer_id" to 2,
                ),
                mapOf(
                    "zipcode" to 7171,
                ),
            ),
        )),
) { obj -> response.add(obj) }

$in [in] query

$in query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "customer_id": {
            "$in": [1, 2]
        }
    }
}, (obj) => {
    response.push(obj);
});
$in query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$in': [1, 2],
            },
        },
    ),
    response.append,
)
$in query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$in' => [1, 2],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$in query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$in"] = new JsonArray { 1, 2 },
        },
    },
}, obj => response.Add(obj));
$in query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$in": []any{1, 2},
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$in query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$in": [1, 2],
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$in query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$in", List.of(1, 2)
        )
    )), obj -> response.add(obj));
$in query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$in" to listOf(1, 2),
            ),
        )),
) { obj -> response.add(obj) }

$nin [not in] query

$nin query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "customer_id": {
            "$nin": [1, 2]
        }
    }
}, (obj) => {
    response.push(obj);
});
$nin query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'customer_id': {
                '$nin': [1, 2],
            },
        },
    ),
    response.append,
)
$nin query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'customer_id' => [
                '$nin' => [1, 2],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$nin query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["customer_id"] = new JsonObject
        {
            ["$nin"] = new JsonArray { 1, 2 },
        },
    },
}, obj => response.Add(obj));
$nin query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "customer_id": am.M{
            "$nin": []any{1, 2},
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$nin query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "customer_id": {
                "$nin": [1, 2],
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$nin query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "customer_id", Map.of(
            "$nin", List.of(1, 2)
        )
    )), obj -> response.add(obj));
$nin query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "customer_id" to mapOf(
                "\$nin" to listOf(1, 2),
            ),
        )),
) { obj -> response.add(obj) }

$like [like] query

$like query
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "first_name": {
            "$like": "Bob%"
        }
    }
}, (obj) => {
    response.push(obj);
});
$like query
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'first_name': {
                '$like': 'Bob%',
            },
        },
    ),
    response.append,
)
$like query
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'first_name' => [
                '$like' => 'Bob%',
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$like query
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = new JsonObject
        {
            ["$like"] = "Bob%",
        },
    },
}, obj => response.Add(obj));
$like query
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": am.M{
            "$like": "Bob%",
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$like query
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": {
                "$like": "Bob%",
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$like query
1
2
3
4
5
6
7
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", Map.of(
            "$like", "Bob%"
        )
    )), obj -> response.add(obj));
$like query
1
2
3
4
5
6
7
8
9
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to mapOf(
                "\$like" to "Bob%",
            ),
        )),
) { obj -> response.add(obj) }

$isNull [null check] with sql databases

$isNull use
1
2
3
4
5
6
7
8
let query = await g.sys.db.query({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "first_name": {
            "$isNull": true
        }
    }
});
$isNull use
1
2
3
4
5
6
7
8
query = await g.sys.db.query(
    'mysql_8', 'inventory', 'customers',
    find={
        'first_name': {
            '$isNull': True,
        },
    },
)
$isNull use
1
2
3
4
5
6
7
8
$query = $g->sys->db->query(
    'mysql_8', 'inventory', 'customers',
    find: [
        'first_name' => [
            '$isNull' => true,
        ],
    ],
);
$isNull use
var query = await g.Sys.Db.Query(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = new JsonObject
        {
            ["$isNull"] = true,
        },
    },
});
$isNull use
query, err := g.Sys.Db.Query(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "first_name": am.M{
            "$isNull": true,
        },
    },
})
if err != nil {
    return nil, err
}
$isNull use
1
2
3
4
5
6
7
8
let query = g.sys.db.query(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "first_name": {
                "$isNull": true,
            },
        })),
)?;
$isNull use
1
2
3
4
5
6
var query = g.sys.db.query(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "first_name", Map.of(
            "$isNull", true
        )
    )));
$isNull use
1
2
3
4
5
6
7
8
val query = g.sys.db.query(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "first_name" to mapOf(
                "\$isNull" to true,
            ),
        )),
)

MongoDB $in operator in nested find

$in operator in nested find
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "eventListeners.versions.name": {
            "$in": [
                "Original",
                "1"
            ]
        }
    }
}, (obj) => {
    response.push(obj);
});
$in operator in nested find
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'eventListeners.versions.name': {
                '$in': [
                    'Original',
                    '1',
                ],
            },
        },
    ),
    response.append,
)
$in operator in nested find
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'eventListeners.versions.name' => [
                '$in' => [
                    'Original',
                    '1',
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$in operator in nested find
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["eventListeners.versions.name"] = new JsonObject
        {
            ["$in"] = new JsonArray
            {
                "Original",
                "1",
            },
        },
    },
}, obj => response.Add(obj));
$in operator in nested find
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "eventListeners.versions.name": am.M{
            "$in": []string{
                "Original",
                "1",
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$in operator in nested find
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "eventListeners.versions.name": {
                "$in": [
                    "Original",
                    "1",
                ],
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$in operator in nested find
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "eventListeners.versions.name", Map.of(
            "$in", List.of(
                "Original",
                "1"
            )
        )
    )), obj -> response.add(obj));
$in operator in nested find
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "eventListeners.versions.name" to mapOf(
                "\$in" to listOf(
                    "Original",
                    "1",
                ),
            ),
        )),
) { obj -> response.add(obj) }

MongoDB $nin operator in nested find

$nin operator in nested find
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "eventListeners.versions.name": {
            "$nin": [
                "Original",
                "1"
            ]
        }
    }
}, (obj) => {
    response.push(obj);
});
$nin operator in nested find
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            'eventListeners.versions.name': {
                '$nin': [
                    'Original',
                    '1',
                ],
            },
        },
    ),
    response.append,
)
$nin operator in nested find
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            'eventListeners.versions.name' => [
                '$nin' => [
                    'Original',
                    '1',
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$nin operator in nested find
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["eventListeners.versions.name"] = new JsonObject
        {
            ["$nin"] = new JsonArray
            {
                "Original",
                "1",
            },
        },
    },
}, obj => response.Add(obj));
$nin operator in nested find
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "eventListeners.versions.name": am.M{
            "$nin": []string{
                "Original",
                "1",
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$nin operator in nested find
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "eventListeners.versions.name": {
                "$nin": [
                    "Original",
                    "1",
                ],
            },
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$nin operator in nested find
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "eventListeners.versions.name", Map.of(
            "$nin", List.of(
                "Original",
                "1"
            )
        )
    )), obj -> response.add(obj));
$nin operator in nested find
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "eventListeners.versions.name" to mapOf(
                "\$nin" to listOf(
                    "Original",
                    "1",
                ),
            ),
        )),
) { obj -> response.add(obj) }

MongoDB $and operator in nested find

$and operator in nested find
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "$and": [
            {
                "eventListeners.versions.name": "Original"
            },
            {
                "eventListeners.versions.version": "-1"
            }
        ]
    }
}, (obj) => {
    response.push(obj);
});
$and operator in nested find
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            '$and': [
                {
                    'eventListeners.versions.name': 'Original',
                },
                {
                    'eventListeners.versions.version': '-1',
                },
            ],
        },
    ),
    response.append,
)
$and operator in nested find
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            '$and' => [
                [
                    'eventListeners.versions.name' => 'Original',
                ],
                [
                    'eventListeners.versions.version' => '-1',
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$and operator in nested find
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["$and"] = new JsonArray
        {
            new JsonObject
            {
                ["eventListeners.versions.name"] = "Original",
            },
            new JsonObject
            {
                ["eventListeners.versions.version"] = "-1",
            },
        },
    },
}, obj => response.Add(obj));
$and operator in nested find
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "$and": []any{
            am.M{
                "eventListeners.versions.name": "Original",
            },
            am.M{
                "eventListeners.versions.version": "-1",
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$and operator in nested find
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "$and": [
                {
                    "eventListeners.versions.name": "Original",
                },
                {
                    "eventListeners.versions.version": "-1",
                },
            ],
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$and operator in nested find
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "$and", List.of(
            Map.of(
                "eventListeners.versions.name", "Original"
            ),
            Map.of(
                "eventListeners.versions.version", "-1"
            )
        )
    )), obj -> response.add(obj));
$and operator in nested find
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "\$and" to listOf(
                mapOf(
                    "eventListeners.versions.name" to "Original",
                ),
                mapOf(
                    "eventListeners.versions.version" to "-1",
                ),
            ),
        )),
) { obj -> response.add(obj) }

MongoDB $or operator in nested find

$or operator in nested find
let response = [];
await g.sys.db.queryByStream({
    instance: "mysql_8", database: "inventory", collection: "customers",
    find: {
        "$or": [
            {
                "eventListeners.versions.name": "Original"
            },
            {
                "eventListeners.versions.version": "-1"
            }
        ]
    }
}, (obj) => {
    response.push(obj);
});
$or operator in nested find
response = []
await g.sys.db.query_by_stream(
    Query(
        'mysql_8', 'inventory', 'customers',
        find={
            '$or': [
                {
                    'eventListeners.versions.name': 'Original',
                },
                {
                    'eventListeners.versions.version': '-1',
                },
            ],
        },
    ),
    response.append,
)
$or operator in nested find
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'mysql_8', 'inventory', 'customers',
        find: [
            '$or' => [
                [
                    'eventListeners.versions.name' => 'Original',
                ],
                [
                    'eventListeners.versions.version' => '-1',
                ],
            ],
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
$or operator in nested find
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("mysql_8", "inventory", "customers")
{
    Find = new JsonObject
    {
        ["$or"] = new JsonArray
        {
            new JsonObject
            {
                ["eventListeners.versions.name"] = "Original",
            },
            new JsonObject
            {
                ["eventListeners.versions.version"] = "-1",
            },
        },
    },
}, obj => response.Add(obj));
$or operator in nested find
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "mysql_8", Database: "inventory", Collection: "customers",
    Find: am.M{
        "$or": []any{
            am.M{
                "eventListeners.versions.name": "Original",
            },
            am.M{
                "eventListeners.versions.version": "-1",
            },
        },
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
$or operator in nested find
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("mysql_8", "inventory", "customers")
        .find(json!({
            "$or": [
                {
                    "eventListeners.versions.name": "Original",
                },
                {
                    "eventListeners.versions.version": "-1",
                },
            ],
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
$or operator in nested find
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("mysql_8", "inventory", "customers")
    .find(Map.of(
        "$or", List.of(
            Map.of(
                "eventListeners.versions.name", "Original"
            ),
            Map.of(
                "eventListeners.versions.version", "-1"
            )
        )
    )), obj -> response.add(obj));
$or operator in nested find
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("mysql_8", "inventory", "customers")
        .find(mapOf(
            "\$or" to listOf(
                mapOf(
                    "eventListeners.versions.name" to "Original",
                ),
                mapOf(
                    "eventListeners.versions.version" to "-1",
                ),
            ),
        )),
) { obj -> response.add(obj) }

Structure

query by stream with all params
let response = [];
await g.sys.db.queryByStream({
    instance: "INSTANCE_NAME", database: 'DB_NAME', collection: "COLLECTION_NAME",
    find: {
        "COLUMN_NAME": "VALUE"
    },
    limit: 10,
    select: "COMMA_SEPARATED_COLUMN_NAMES",
    deep: [
        {
            s_key: "SOURCE_COLLECTION_COLUMN_NAME",
            t_instance: "TARGET_INSTANCE_NAME",
            t_db: "TARGET_DATABASE_NAME",
            t_col: "TARGET_COLLECTION_NAME",
            t_key: "TARGET_COLLECTION_COLUMN_NAME",
            find: {
                "COLUMN_NAME": "COLUMN_VALUE"
            },
            isMultiple: true,
            limit: 10,
            select: "COMMA_SEPARATED_COLUMN_NAMES",
            skip: 2,
            sort: "COLUMN_NAME",
        }
    ],
    skip: 1,
    sort: "COLUMN_NAME",
    groupBy: "COLUMN_NAME",
    headers: {
        "x-am-response-case": "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        "x-am-response-object-type": "make_flat", // no_action | make_flat
        "x-am-meta": "true", // true, false
        "x-am-internationalization": "USER_I18N_ID",
        "x-am-run-in-sandbox": "2",
        "x-am-content-type-response": "text/xml", // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
        "x-am-cache-control": "reset_cache", // no_action | reset_cache
        "x-am-get-encrypted-data": "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
        "x-am-sandbox-timeout": "13000",
        "x-no-compression": "true", // true | false
        "x-am-encrypted-payload": "true", // user will send 'true', when payload is encrypted for transfer
        // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
        "x-am-tenant-username": "TENANT_USERNAME", // ex: acme
        // Authorization headers
        "x-am-authorization": "AUTHORIZATION_TOKEN",
        "x-am-user-authorization": "API_USER_TOKEN",
        "x-aws-authorization": "AWS_TOKEN",
        "x-google-authorization": "GOOGLE_TOKEN",
        "x-azure-authorization": "AZURE_TOKEN",
    },
}, (obj) => {
    response.push(obj);
});
query by stream with all params
response = []
await g.sys.db.query_by_stream(
    Query(
        'INSTANCE_NAME', 'DB_NAME', 'COLLECTION_NAME',
        find={
            'COLUMN_NAME': 'VALUE',
        },
        limit=10,
        select='COMMA_SEPARATED_COLUMN_NAMES',
        deep=[
            DeepItem(
                'SOURCE_COLLECTION_COLUMN_NAME',
                t_instance='TARGET_INSTANCE_NAME',
                t_db='TARGET_DATABASE_NAME',
                t_col='TARGET_COLLECTION_NAME',
                t_key='TARGET_COLLECTION_COLUMN_NAME',
                find={
                    'COLUMN_NAME': 'COLUMN_VALUE',
                },
                is_multiple=True,
                limit=10,
                select='COMMA_SEPARATED_COLUMN_NAMES',
                skip=2,
                sort='COLUMN_NAME',
            ),
        ],
        skip=1,
        sort='COLUMN_NAME',
        group_by='COLUMN_NAME',
        headers={
            'x-am-response-case': 'capitalCase',  # noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
            'x-am-response-object-type': 'make_flat',  # no_action | make_flat
            'x-am-meta': 'true',  # true, false
            'x-am-internationalization': 'USER_I18N_ID',
            'x-am-run-in-sandbox': '2',
            'x-am-content-type-response': 'text/xml',  # application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
            'x-am-cache-control': 'reset_cache',  # no_action | reset_cache
            'x-am-get-encrypted-data': 'get_only_encryption',  # no_encryption | get_only_encryption | get_data_and_encryption
            'x-am-sandbox-timeout': '13000',
            'x-no-compression': 'true',  # true | false
            'x-am-encrypted-payload': 'true',  # user will send 'true', when payload is encrypted for transfer
            # Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
            'x-am-tenant-username': 'TENANT_USERNAME',  # ex: acme
            # Authorization headers
            'x-am-authorization': 'AUTHORIZATION_TOKEN',
            'x-am-user-authorization': 'API_USER_TOKEN',
            'x-aws-authorization': 'AWS_TOKEN',
            'x-google-authorization': 'GOOGLE_TOKEN',
            'x-azure-authorization': 'AZURE_TOKEN',
        },
    ),
    response.append,
)
query by stream with all params
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'INSTANCE_NAME', 'DB_NAME', 'COLLECTION_NAME',
        find: [
            'COLUMN_NAME' => 'VALUE',
        ],
        limit: 10,
        select: 'COMMA_SEPARATED_COLUMN_NAMES',
        deep: [
            new DeepItem(
                'SOURCE_COLLECTION_COLUMN_NAME',
                tInstance: 'TARGET_INSTANCE_NAME',
                tDb: 'TARGET_DATABASE_NAME',
                tCol: 'TARGET_COLLECTION_NAME',
                tKey: 'TARGET_COLLECTION_COLUMN_NAME',
                find: [
                    'COLUMN_NAME' => 'COLUMN_VALUE',
                ],
                isMultiple: true,
                limit: 10,
                select: 'COMMA_SEPARATED_COLUMN_NAMES',
                skip: 2,
                sort: 'COLUMN_NAME',
            ),
        ],
        skip: 1,
        sort: 'COLUMN_NAME',
        groupBy: 'COLUMN_NAME',
        headers: [
            'x-am-response-case' => 'capitalCase', // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
            'x-am-response-object-type' => 'make_flat', // no_action | make_flat
            'x-am-meta' => 'true', // true, false
            'x-am-internationalization' => 'USER_I18N_ID',
            'x-am-run-in-sandbox' => '2',
            'x-am-content-type-response' => 'text/xml', // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
            'x-am-cache-control' => 'reset_cache', // no_action | reset_cache
            'x-am-get-encrypted-data' => 'get_only_encryption', // no_encryption | get_only_encryption | get_data_and_encryption
            'x-am-sandbox-timeout' => '13000',
            'x-no-compression' => 'true', // true | false
            'x-am-encrypted-payload' => 'true', // user will send 'true', when payload is encrypted for transfer
            // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
            'x-am-tenant-username' => 'TENANT_USERNAME', // ex: acme
            // Authorization headers
            'x-am-authorization' => 'AUTHORIZATION_TOKEN',
            'x-am-user-authorization' => 'API_USER_TOKEN',
            'x-aws-authorization' => 'AWS_TOKEN',
            'x-google-authorization' => 'GOOGLE_TOKEN',
            'x-azure-authorization' => 'AZURE_TOKEN',
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
query by stream with all params
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("INSTANCE_NAME", "DB_NAME", "COLLECTION_NAME")
{
    Find = new JsonObject
    {
        ["COLUMN_NAME"] = "VALUE",
    },
    Limit = 10,
    Select = "COMMA_SEPARATED_COLUMN_NAMES",
    Deep = new[]
    {
        new DeepItem("SOURCE_COLLECTION_COLUMN_NAME")
        {
            TInstance = "TARGET_INSTANCE_NAME",
            TDb = "TARGET_DATABASE_NAME",
            TCol = "TARGET_COLLECTION_NAME",
            TKey = "TARGET_COLLECTION_COLUMN_NAME",
            Find = new JsonObject
            {
                ["COLUMN_NAME"] = "COLUMN_VALUE",
            },
            IsMultiple = true,
            Limit = 10,
            Select = "COMMA_SEPARATED_COLUMN_NAMES",
            Skip = 2,
            Sort = "COLUMN_NAME",
        },
    },
    Skip = 1,
    Sort = "COLUMN_NAME",
    GroupBy = "COLUMN_NAME",
    Headers = new JsonObject
    {
        ["x-am-response-case"] = "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        ["x-am-response-object-type"] = "make_flat", // no_action | make_flat
        ["x-am-meta"] = "true", // true, false
        ["x-am-internationalization"] = "USER_I18N_ID",
        ["x-am-run-in-sandbox"] = "2",
        ["x-am-content-type-response"] = "text/xml", // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
        ["x-am-cache-control"] = "reset_cache", // no_action | reset_cache
        ["x-am-get-encrypted-data"] = "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
        ["x-am-sandbox-timeout"] = "13000",
        ["x-no-compression"] = "true", // true | false
        ["x-am-encrypted-payload"] = "true", // user will send 'true', when payload is encrypted for transfer
        // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
        ["x-am-tenant-username"] = "TENANT_USERNAME", // ex: acme
        // Authorization headers
        ["x-am-authorization"] = "AUTHORIZATION_TOKEN",
        ["x-am-user-authorization"] = "API_USER_TOKEN",
        ["x-aws-authorization"] = "AWS_TOKEN",
        ["x-google-authorization"] = "GOOGLE_TOKEN",
        ["x-azure-authorization"] = "AZURE_TOKEN",
    },
}, obj => response.Add(obj));
query by stream with all params
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "INSTANCE_NAME", Database: "DB_NAME", Collection: "COLLECTION_NAME",
    Find: am.M{
        "COLUMN_NAME": "VALUE",
    },
    Limit:  10,
    Select: "COMMA_SEPARATED_COLUMN_NAMES",
    Deep: []am.DeepItem{
        {
            SKey:      "SOURCE_COLLECTION_COLUMN_NAME",
            TInstance: "TARGET_INSTANCE_NAME",
            TDb:       "TARGET_DATABASE_NAME",
            TCol:      "TARGET_COLLECTION_NAME",
            TKey:      "TARGET_COLLECTION_COLUMN_NAME",
            Find: am.M{
                "COLUMN_NAME": "COLUMN_VALUE",
            },
            IsMultiple: true,
            Limit:      10,
            Select:     "COMMA_SEPARATED_COLUMN_NAMES",
            Skip:       2,
            Sort:       "COLUMN_NAME",
        },
    },
    Skip:    1,
    Sort:    "COLUMN_NAME",
    GroupBy: "COLUMN_NAME",
    Headers: am.M{
        "x-am-response-case":         "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        "x-am-response-object-type":  "make_flat",   // no_action | make_flat
        "x-am-meta":                  "true",        // true, false
        "x-am-internationalization":  "USER_I18N_ID",
        "x-am-run-in-sandbox":        "2",
        "x-am-content-type-response": "text/xml",            // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
        "x-am-cache-control":         "reset_cache",         // no_action | reset_cache
        "x-am-get-encrypted-data":    "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
        "x-am-sandbox-timeout":       "13000",
        "x-no-compression":           "true", // true | false
        "x-am-encrypted-payload":     "true", // user will send 'true', when payload is encrypted for transfer
        // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
        "x-am-tenant-username": "TENANT_USERNAME", // ex: acme
        // Authorization headers
        "x-am-authorization":      "AUTHORIZATION_TOKEN",
        "x-am-user-authorization": "API_USER_TOKEN",
        "x-aws-authorization":     "AWS_TOKEN",
        "x-google-authorization":  "GOOGLE_TOKEN",
        "x-azure-authorization":   "AZURE_TOKEN",
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
query by stream with all params
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("INSTANCE_NAME", "DB_NAME", "COLLECTION_NAME")
        .find(json!({
            "COLUMN_NAME": "VALUE",
        }))
        .limit(10)
        .select("COMMA_SEPARATED_COLUMN_NAMES")
        .deep(vec![
            DeepItem::new("SOURCE_COLLECTION_COLUMN_NAME")
                .t_instance("TARGET_INSTANCE_NAME")
                .t_db("TARGET_DATABASE_NAME")
                .t_col("TARGET_COLLECTION_NAME")
                .t_key("TARGET_COLLECTION_COLUMN_NAME")
                .find(json!({
                    "COLUMN_NAME": "COLUMN_VALUE",
                }))
                .is_multiple(true)
                .limit(10)
                .select("COMMA_SEPARATED_COLUMN_NAMES")
                .skip(2)
                .sort("COLUMN_NAME"),
        ])
        .skip(1)
        .sort("COLUMN_NAME")
        .group_by("COLUMN_NAME")
        .headers(json!({
            "x-am-response-case": "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
            "x-am-response-object-type": "make_flat", // no_action | make_flat
            "x-am-meta": "true", // true, false
            "x-am-internationalization": "USER_I18N_ID",
            "x-am-run-in-sandbox": "2",
            "x-am-content-type-response": "text/xml", // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
            "x-am-cache-control": "reset_cache", // no_action | reset_cache
            "x-am-get-encrypted-data": "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
            "x-am-sandbox-timeout": "13000",
            "x-no-compression": "true", // true | false
            "x-am-encrypted-payload": "true", // user will send 'true', when payload is encrypted for transfer
            // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
            "x-am-tenant-username": "TENANT_USERNAME", // ex: acme
            // Authorization headers
            "x-am-authorization": "AUTHORIZATION_TOKEN",
            "x-am-user-authorization": "API_USER_TOKEN",
            "x-aws-authorization": "AWS_TOKEN",
            "x-google-authorization": "GOOGLE_TOKEN",
            "x-azure-authorization": "AZURE_TOKEN",
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
query by stream with all params
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("INSTANCE_NAME", "DB_NAME", "COLLECTION_NAME")
    .find(Map.of(
        "COLUMN_NAME", "VALUE"
    ))
    .limit(10)
    .select("COMMA_SEPARATED_COLUMN_NAMES")
    .deep(List.of(
        new DeepItem("SOURCE_COLLECTION_COLUMN_NAME")
            .tInstance("TARGET_INSTANCE_NAME")
            .tDb("TARGET_DATABASE_NAME")
            .tCol("TARGET_COLLECTION_NAME")
            .tKey("TARGET_COLLECTION_COLUMN_NAME")
            .find(Map.of(
                "COLUMN_NAME", "COLUMN_VALUE"
            ))
            .isMultiple(true)
            .limit(10)
            .select("COMMA_SEPARATED_COLUMN_NAMES")
            .skip(2)
            .sort("COLUMN_NAME")
    ))
    .skip(1)
    .sort("COLUMN_NAME")
    .groupBy("COLUMN_NAME")
    .headers(JsonObject.of(
        "x-am-response-case", "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
        "x-am-response-object-type", "make_flat", // no_action | make_flat
        "x-am-meta", "true", // true, false
        "x-am-internationalization", "USER_I18N_ID",
        "x-am-run-in-sandbox", "2",
        "x-am-content-type-response", "text/xml", // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
        "x-am-cache-control", "reset_cache", // no_action | reset_cache
        "x-am-get-encrypted-data", "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
        "x-am-sandbox-timeout", "13000",
        "x-no-compression", "true", // true | false
        "x-am-encrypted-payload", "true", // user will send 'true', when payload is encrypted for transfer
        // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
        "x-am-tenant-username", "TENANT_USERNAME", // ex: acme
        // Authorization headers
        "x-am-authorization", "AUTHORIZATION_TOKEN",
        "x-am-user-authorization", "API_USER_TOKEN",
        "x-aws-authorization", "AWS_TOKEN",
        "x-google-authorization", "GOOGLE_TOKEN",
        "x-azure-authorization", "AZURE_TOKEN"
    )), obj -> response.add(obj));
query by stream with all params
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("INSTANCE_NAME", "DB_NAME", "COLLECTION_NAME")
        .find(mapOf(
            "COLUMN_NAME" to "VALUE",
        ))
        .limit(10)
        .select("COMMA_SEPARATED_COLUMN_NAMES")
        .deep(listOf(
            DeepItem("SOURCE_COLLECTION_COLUMN_NAME")
                .tInstance("TARGET_INSTANCE_NAME")
                .tDb("TARGET_DATABASE_NAME")
                .tCol("TARGET_COLLECTION_NAME")
                .tKey("TARGET_COLLECTION_COLUMN_NAME")
                .find(mapOf(
                    "COLUMN_NAME" to "COLUMN_VALUE",
                ))
                .isMultiple(true)
                .limit(10)
                .select("COMMA_SEPARATED_COLUMN_NAMES")
                .skip(2)
                .sort("COLUMN_NAME"),
        ))
        .skip(1)
        .sort("COLUMN_NAME")
        .groupBy("COLUMN_NAME")
        .headers(mapOf(
            "x-am-response-case" to "capitalCase", // noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase
            "x-am-response-object-type" to "make_flat", // no_action | make_flat
            "x-am-meta" to "true", // true, false
            "x-am-internationalization" to "USER_I18N_ID",
            "x-am-run-in-sandbox" to "2",
            "x-am-content-type-response" to "text/xml", // application/json | text/xml | text/yaml | text/plain | text/html | application/octet-stream
            "x-am-cache-control" to "reset_cache", // no_action | reset_cache
            "x-am-get-encrypted-data" to "get_only_encryption", // no_encryption | get_only_encryption | get_data_and_encryption
            "x-am-sandbox-timeout" to "13000",
            "x-no-compression" to "true", // true | false
            "x-am-encrypted-payload" to "true", // user will send 'true', when payload is encrypted for transfer
            // Multi-tenant : the tenant of the request, each instance finds it in its own tenants table
            "x-am-tenant-username" to "TENANT_USERNAME", // ex: acme
            // Authorization headers
            "x-am-authorization" to "AUTHORIZATION_TOKEN",
            "x-am-user-authorization" to "API_USER_TOKEN",
            "x-aws-authorization" to "AWS_TOKEN",
            "x-google-authorization" to "GOOGLE_TOKEN",
            "x-azure-authorization" to "AZURE_TOKEN",
        )),
) { obj -> response.add(obj) }

Multi-tenant

  • instance: "crm::acme" works on the database of the tenant acme of the multi-tenant instance crm.
  • With instance: "crm", the call works on the database of the tenant of the request: a custom API called with the x-am-tenant-username header passes it on to the APIs it calls. A request without a tenant works on the structure database.
Query the customers of the tenant acme by stream
1
2
3
4
5
6
7
8
9
let response = [];
await g.sys.db.queryByStream({
    instance: "crm::acme", database: "crm", collection: "customers",
    find: {
        "first_name": "Bob"
    }
}, (obj) => {
    response.push(obj);
});
Query the customers of the tenant acme by stream
response = []
await g.sys.db.query_by_stream(
    Query(
        'crm::acme', 'crm', 'customers',
        find={
            'first_name': 'Bob',
        },
    ),
    response.append,
)
Query the customers of the tenant acme by stream
$response = [];
$g->sys->db->queryByStream(
    new Query(
        'crm::acme', 'crm', 'customers',
        find: [
            'first_name' => 'Bob',
        ],
    ),
    function ($obj) use (&$response) {
        $response[] = $obj;
    },
);
Query the customers of the tenant acme by stream
1
2
3
4
5
6
7
8
var response = new List<JsonObject>();
await g.Sys.Db.QueryByStream(new Query("crm::acme", "crm", "customers")
{
    Find = new JsonObject
    {
        ["first_name"] = "Bob",
    },
}, obj => response.Add(obj));
Query the customers of the tenant acme by stream
response := []am.M{}
if err := g.Sys.Db.QueryByStream(am.Query{
    Instance: "crm::acme", Database: "crm", Collection: "customers",
    Find: am.M{
        "first_name": "Bob",
    },
}, func(obj am.M) error {
    response = append(response, obj)
    return nil
}); err != nil {
    return nil, err
}
Query the customers of the tenant acme by stream
let mut response = Vec::new();
g.sys.db.query_by_stream(
    Query::new("crm::acme", "crm", "customers")
        .find(json!({
            "first_name": "Bob",
        })),
    |obj| {
        response.push(obj.clone());
        Ok(())
    },
)?;
Query the customers of the tenant acme by stream
1
2
3
4
5
var response = new ArrayList<JsonObject>();
g.sys.db.queryByStream(new Query("crm::acme", "crm", "customers")
    .find(Map.of(
        "first_name", "Bob"
    )), obj -> response.add(obj));
Query the customers of the tenant acme by stream
1
2
3
4
5
6
7
val response = mutableListOf<JsonObject>()
g.sys.db.queryByStream(
    Query("crm::acme", "crm", "customers")
        .find(mapOf(
            "first_name" to "Bob",
        )),
) { obj -> response.add(obj) }

Without a schema

g.sys.db.gen.queryByStreamGen takes the same arguments and calls the query for get data by stream generated API : no schema, so the data is read and written as it is in the table, without the conversions, validations and defaults of the schema.

Language The call
TypeScript g.sys.db.gen.queryByStreamGen(…)
Python g.sys.db.gen.query_by_stream_gen(…)
PHP $g->sys->db->gen->queryByStreamGen(…)
C#, Go g.Sys.Db.Gen.QueryByStreamGen(…)
Rust g.sys.db.query_by_stream_gen(Query::new(…))
Java, Kotlin g.sys.db.gen.queryByStreamGen(…)