上一篇中在单台物理机的环境下搭建起来了SequoiaDB的集群环境,今天趁着休赛期来探究一下SequoiaDB的 shell 控制台的使用。
首先,在SequoiaDB安装目录下的bin目录中打开SHELL控制台
- admin@sdbserver1:~/database/data$ /opt/sequoiadb/bin/sdb
- /opt/sequoiadb/.sequoiadb_shell_history
- Welcome to SequoiaDB shell!
- help() for help, Ctrl+c or quit to exit
进入控制台后,新建一个默认SequoiaDB实例,这里省略参数的情况下创建了一个默认的连接到11810端口的实例,并赋给新建的变量db
- > db = new Sdb()
- localhost:11810
- Takes 0.3251s.
通过变量 db 在 sequoiadb 中新建一个名字为 foo 的集合空间
- > db.createCS("foo")
- localhost:11810.foo
- Takes 0.274910s.
枚举 database 中所有的集合空间,得到了刚刚新建的集合空间 foo
- > db.list(5)
- {
- "Name": "foo"
- }
- Return 1 row(s).
- Takes 0.2085s.
- > db.dropCS("foo")
- Takes 0.69750s.
- > db.list(5)
- Return 0 row(s).
- Takes 0.1212s.
- > cs = db.createCS("foo")
- localhost:11810.foo
- Takes 0.135636s.
- > cs.createCL("bar")
- localhost:11810.foo.bar
- Takes 0.695273s.
- > 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.bar
- Takes 0.18766s.
- > 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.
- > cl.remove({"name":"test"})
- Takes 0.44054s.
- > cl.find()
- Return 0 row(s).
- Takes 0.1325s.
- > for(var i=1;i<5;i++){cl.insert({"name":"name"+i,"type":"type"+i})}
- Takes 0.3321s.
- > 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.
- > cl.count()
- 4
- Takes 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也很相似,更进一步的关于中高级功能将在今后再来探究。