Sequoiadb 测试体验系列之二 – shell 控制台初探

来源:互联网 发布:php搭建好显示http500 编辑:程序博客网 时间:2024/05/29 04:34

上一篇中在单台物理机的环境下搭建起来了SequoiaDB的集群环境,今天趁着休赛期来探究一下SequoiaDB的 shell 控制台的使用。


首先,在SequoiaDB安装目录下的bin目录中打开SHELL控制台

admin@sdbserver1:~/database/data$ /opt/sequoiadb/bin/sdb/opt/sequoiadb/.sequoiadb_shell_historyWelcome to SequoiaDB shell!help() for help, Ctrl+c or quit to exit




进入控制台后,新建一个默认SequoiaDB实例,这里省略参数的情况下创建了一个默认的连接到11810端口的实例,并赋给新建的变量db

> db = new Sdb()localhost:11810Takes 0.3251s.

通过变量 db 在 sequoiadb 中新建一个名字为 foo 的集合空间
> db.createCS("foo")localhost:11810.fooTakes 0.274910s.



枚举 database 中所有的集合空间,得到了刚刚新建的集合空间 foo

> db.list(5){  "Name": "foo"}Return 1 row(s).Takes 0.2085s.



试一下 drop 命令,删除集合空间 foo
> db.dropCS("foo")Takes 0.69750s.



枚举集合空间,返回空,集合空间 foo 已经被删除了
> db.list(5)Return 0 row(s).Takes 0.1212s.


重新新建集合空间 foo 并赋给变量 cs
> cs = db.createCS("foo")localhost:11810.fooTakes 0.135636s.


通过变量 cs 在集合空间中新建集合 bar
> cs.createCL("bar")localhost:11810.foo.barTakes 0.695273s.


枚举 SequoiaDB 中所有的集合,得到新建的集合 bar
> db.listCollections(){  "Name": "foo.bar"}Return 1 row(s).Takes 0.2337s.


删除集合bar

> cs.dropCL("bar")Takes 0.7557s.


枚举所有集合,返回空,集合 bar 已经被成功删除掉了

> db.listCollections()Return 0 row(s).Takes 0.1306s.


重新新建集合 bar,并赋给变量 cl

> cl = cs.createCL("bar")localhost:11810.foo.barTakes 0.18766s.


通过变量 cl 在集合中插入一条数据
> cl.insert({"name":"test","type":"record"})Takes 0.2241s.


查询集合中的数据,得到刚刚插入的数据

> cl.find(){  "_id": {    "$oid": "53be33e8ff6816301c000000"  },  "name": "test",  "type": "record"}Return 1 row(s).Takes 0.2214s.


删除name字段的值是"test"的所有记录
> cl.remove({"name":"test"})Takes 0.44054s.


查找集合中的所有数据,返回空,记录已经被删除掉了
> cl.find()Return 0 row(s).Takes 0.1325s.



利用javascript的for循环,插入4条数据
> for(var i=1;i<5;i++){cl.insert({"name":"name"+i,"type":"type"+i})}Takes 0.3321s.



查询集合中所有的数据,返回刚插入的4条数据
> cl.find(){  "_id": {    "$oid": "53be3507ff6816301c000001"  },  "name": "name1",  "type": "type1"}{  "_id": {    "$oid": "53be3507ff6816301c000002"  },  "name": "name2",  "type": "type2"}{  "_id": {    "$oid": "53be3507ff6816301c000003"  },  "name": "name3",  "type": "type3"}{  "_id": {    "$oid": "53be3507ff6816301c000004"  },  "name": "name4",  "type": "type4"}Return 4 row(s).Takes 0.2520s.


统计集合中的记录总数,返回4,所有的记录都被成功删除掉了
> cl.count()4Takes 0.2292s.


删除其中一条指定记录

> cl.remove({"name":"name2"})Takes 0.3267s.



查询所有记录,发现刚刚指定的记录已经被删除
> cl.find(){  "_id": {    "$oid": "53be3507ff6816301c000001"  },  "name": "name1",  "type": "type1"}{  "_id": {    "$oid": "53be3507ff6816301c000003"  },  "name": "name3",  "type": "type3"}{  "_id": {    "$oid": "53be3507ff6816301c000004"  },  "name": "name4",  "type": "type4"}Return 3 row(s).Takes 0.2282s.


删除集合中的所有记录
> cl.remove()Takes 0.1621s.


查询集合中的记录总数,返回0,所有记录都被删除掉了

> cl.remove()Takes 0.1621s.



到此为止,SequoiaDB的基础的增删读写操作就已经实现了。总体来说参照SequoiaDB的官方文档还是较为容易实现的,操作比较接近接近自然语言,和mongoDB也很相似,更进一步的关于中高级功能将在今后再来探究。

0 0