Query table data

For more information regarding database table query, please refer to kScript reference under coding reference. 


Get an item based on Id or primary key

      var table = k.database.getTable("tablename");
      var item = table.get(IdOrKey);


Find and return the first record basd on the search condition. 

find has two type of syntax, by condition or by field value. 

By field value takes two parameters, one is the field name, the other is the field value.

        <script engine="kscript">

        var table = k.database.getTable("tablename"); 
        // find equal value match.
        var item = table.find("fieldname", "matchvalue"); 


By condition use the kooboo condition syntax. 

Syntax: fieldname operator value

Operators: ==,  >=,  >,  <,  <=, contains, startwith

        <script engine="kscript">

        var table = k.database.getTable("tablename");

        // Find  condition text can be one of the followings.
        // find item with field "name" value of "matchedvalue".
        var item = table.find("name=='matchedvalue'");

        // find item with field "number" bigger than or equal to 123.
        var item = table.find("number>=123");

        // find item with field "name" value contains "matchedvalue".
        var item = table.find("name contains 'matchedvalue'");

        // find item with field "name" value startwith "matchedvalue".
        var item = table.find("name startwith 'matchedvalue'");

        // && can be used to combine multiple query...
        var item = table.find("name contains na && number>=123"); 



findAll has exactly the same format and condition as find method. It search till the last record and return all matched records an array instead of an object. 


return all records of that table

var list = k.database.getTable("tablename").all();

query, orderBy, skip, take

query can take the same search condition as find or blank to return all records. 

query is a fluent API  with support of where, orderBy, skip and take. 

<script engine="kscript">
        var table = k.database.getTable("mytablename");
        var obj = {name: "myname", number: 124};
        var obj2 = {name: "myname", number: 125};

        // query table
        var values = table.query("number>=123").orderBy("number").skip(1).take(10);
        // or the same
        //var values = table.query().where("number>=123").orderBy("number").skip(1).take(10); 


        <div k-foreach="item values">
        <p k-content="item.name">name value</p>
        <p k-content="item.number">number</p>