ITPub博客

首页 > 数据库 > 国内数据库 > Sequoiadb 测试体验系列之二 – shell 控制台初探

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

国内数据库 作者:qutan2469 时间:2014-07-10 16:24:27 0 删除 编辑
转载自:http://blog.csdn.net/hudiefenmu/article/details/37656893
原文作者:笑寒x


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


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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. admin@sdbserver1:~/database/data$ /opt/sequoiadb/bin/sdb  
  2. /opt/sequoiadb/.sequoiadb_shell_history  
  3. Welcome to SequoiaDB shell!  
  4. help() for help, Ctrl+c or quit to exit  





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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db = new Sdb()  
  2. localhost:11810  
  3. Takes 0.3251s.  




通过变量 db 在 sequoiadb 中新建一个名字为 foo 的集合空间
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.createCS("foo")  
  2. localhost:11810.foo  
  3. Takes 0.274910s.  



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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.list(5)  
  2. {  
  3.   "Name": "foo"  
  4. }  
  5. Return 1 row(s).  
  6. Takes 0.2085s.  



试一下 drop 命令,删除集合空间 foo
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.dropCS("foo")  
  2. Takes 0.69750s.  



枚举集合空间,返回空,集合空间 foo 已经被删除了
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.list(5)  
  2. Return 0 row(s).  
  3. Takes 0.1212s.  


重新新建集合空间 foo 并赋给变量 cs
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cs = db.createCS("foo")  
  2. localhost:11810.foo  
  3. Takes 0.135636s.  


通过变量 cs 在集合空间中新建集合 bar
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cs.createCL("bar")  
  2. localhost:11810.foo.bar  
  3. Takes 0.695273s.  


枚举 SequoiaDB 中所有的集合,得到新建的集合 bar
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.listCollections()  
  2. {  
  3.   "Name": "foo.bar"  
  4. }  
  5. Return 1 row(s).  
  6. Takes 0.2337s.  


删除集合bar

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cs.dropCL("bar")  
  2. Takes 0.7557s.  


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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > db.listCollections()  
  2. Return 0 row(s).  
  3. Takes 0.1306s.  


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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl = cs.createCL("bar")  
  2. localhost:11810.foo.bar  
  3. Takes 0.18766s.  


通过变量 cl 在集合中插入一条数据
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.insert({"name":"test","type":"record"})  
  2. Takes 0.2241s.  


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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.find()  
  2. {  
  3.   "_id": {  
  4.     "$oid": "53be33e8ff6816301c000000"  
  5.   },  
  6.   "name": "test",  
  7.   "type": "record"  
  8. }  
  9. Return 1 row(s).  
  10. Takes 0.2214s.  


删除name字段的值是"test"的所有记录
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.remove({"name":"test"})  
  2. Takes 0.44054s.  


查找集合中的所有数据,返回空,记录已经被删除掉了
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.find()  
  2. Return 0 row(s).  
  3. Takes 0.1325s.  



利用javascript的for循环,插入4条数据
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > for(var i=1;i<5;i++){cl.insert({"name":"name"+i,"type":"type"+i})}  
  2. Takes 0.3321s.  



查询集合中所有的数据,返回刚插入的4条数据
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.find()  
  2. {  
  3.   "_id": {  
  4.     "$oid": "53be3507ff6816301c000001"  
  5.   },  
  6.   "name": "name1",  
  7.   "type": "type1"  
  8. }  
  9. {  
  10.   "_id": {  
  11.     "$oid": "53be3507ff6816301c000002"  
  12.   },  
  13.   "name": "name2",  
  14.   "type": "type2"  
  15. }  
  16. {  
  17.   "_id": {  
  18.     "$oid": "53be3507ff6816301c000003"  
  19.   },  
  20.   "name": "name3",  
  21.   "type": "type3"  
  22. }  
  23. {  
  24.   "_id": {  
  25.     "$oid": "53be3507ff6816301c000004"  
  26.   },  
  27.   "name": "name4",  
  28.   "type": "type4"  
  29. }  
  30. Return 4 row(s).  
  31. Takes 0.2520s.  



统计集合中的记录总数,返回4,所有的记录都被成功删除掉了
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.count()  
  2. 4  
  3. Takes 0.2292s.  


删除其中一条指定记录

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.remove({"name":"name2"})  
  2. Takes 0.3267s.  



查询所有记录,发现刚刚指定的记录已经被删除
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.find()  
  2. {  
  3.   "_id": {  
  4.     "$oid": "53be3507ff6816301c000001"  
  5.   },  
  6.   "name": "name1",  
  7.   "type": "type1"  
  8. }  
  9. {  
  10.   "_id": {  
  11.     "$oid": "53be3507ff6816301c000003"  
  12.   },  
  13.   "name": "name3",  
  14.   "type": "type3"  
  15. }  
  16. {  
  17.   "_id": {  
  18.     "$oid": "53be3507ff6816301c000004"  
  19.   },  
  20.   "name": "name4",  
  21.   "type": "type4"  
  22. }  
  23. Return 3 row(s).  
  24. Takes 0.2282s.  



删除集合中的所有记录
[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.remove()  
  2. Takes 0.1621s.  


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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. > cl.remove()  
  2. Takes 0.1621s.  



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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29731250/viewspace-1215899/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-06-30

  • 博文量
    2
  • 访问量
    5131