文档中心

启动 Shell 模式

SequoiaDB Shell 是 SequoiaDB 巨杉数据的交互式 JavaScript 接口,提供插入、查询、更新、删除等数据操作和数据库管理操作。SequoiaDB 巨杉数据库提供以下三种方式启动 SequoiaDB Shell。

交互模式

进入 SequoiaDB Shell 控制台进行数据操作,如使用以下命令进行连接、创建集合空间、创建集合、插入数据和查询数据操作:

$ sdb
> var db= new Sdb()
Takes 0.046788s.
> var cs = db.createCS("emp")
Takes 0.022974s.
> db.emp.createCL("employees")
localhost:11810.emp.employees
Takes 0.361858s.
> db.emp.employees.insert({"emp_no": 10001,"birth_date": "1995-06-02","first_name": "Bezalel","last_name": "Simmel","gender": "F","hire_date": "2018-11-21"})
Takes 0.011415s.
> db.emp.employees.find({"emp_no": 10001})
{
    "_id": {
        "$oid": "5cb05debd737b02dca3f9b6f"
    },
    "emp_no": 10001,
    "birth_date": "1995-06-02",
    "first_name": "Bezalel",
    "last_name": "Simmel",
    "gender": "F",
    "hire_date": "2018-11-21"
}
Return 1 row(s).
Takes 0.027824s.

嵌入命令模式

支持在 Linux Shell 环境中直接与 SequoiaDB 巨杉数据库交互,如使用以下命令进行连接、查询操作:

$ sdb 'var db = new Sdb()'
$ sdb 'db.emp.employees.find({"emp_no": 10001})'
{
    "_id": {
        "$oid": "5cb05debd737b02dca3f9b6f"
    },
    "emp_no": 10001,
    "birth_date": "1995-06-02",
    "first_name": "Bezalel",
    "last_name": "Simmel",
    "gender": "F",
    "hire_date": "2018-11-21"
}
Return 1 row(s).

脚本模式

将需要执行的 SequoiaDB Shell 操作写成一个 JavaScript 脚本文件,使用 -f 命令参数可以执行该脚本。关于脚本模式的详细信息可参考使用 Shell 执行脚本

  1. 将 SequoiaDB Shell 操作写成一个 JavaScript 脚本文件,如创建名称为 query_data.js 的脚本文件,执行连接、查询操作。文件的具体内容如下:

    $ cat query_data.js
    var db = new Sdb();
    var cs = db.getCS("emp");
    var cl = cs.getCL("employees");
    var condition = {"emp_no" : 10001};
    var cursor = cl.find(condition);
    while( cursor.next() ){
        var record = cursor.current().toString();
        println(record);
    }
    cursor.close();
    db.close();
  2. 使用 SequoiaDB Shell 的 -f 命令参数指定执行 query_data.js 脚本:

    $ sdb -f query_data.js
    {
        "_id": {
            "$oid": "5cb05debd737b02dca3f9b6f"
        },
        "emp_no": 10001,
        "birth_date": "1995-06-02",
        "first_name": "Bezalel",
        "last_name": "Simmel",
        "gender": "F",
        "hire_date": "2018-11-21"
    }
回到顶部