由于在刚开始使用SequoiaDB时候,以为用getCS()就能获得集合空间,用getCL()就能获得集合。后来发现是需要list,故特意写出来供大家参考~~~
首先创建两个集合空间,分别为foo和Zoo。
db.createCS(“foo”)
db.createCS(“Zoo”)
然后在两个集合空间中分别创建两个集合。
db.foo.createCL(“bar”)
db.foo.createCL(“party”)
db.Zoo.createCL(“dog”)
db.Zoo.createCL(“fish”)
再分别在集合中插入两条记录。
db.foo.bar.insert([{_id:1,name:”Mike”,age:18},{_id:2,name:”Amy”,age:22,phone:158999}])
db.foo.party.insert([{_id:1,name:”Tom”,age:28,addr:”one”},{_id:2,name:”Lily”,age:32}])
db.Zoo.dog.insert([{_id:1,name:”xiaohuang”,age:1,color:”yellow”},{_id:2,name:”xiaohei”,age:3,color:”black”}])
db.Zoo.fish.insert([{_id:1,name:”jiyu”,age:1,color:”gray”},{_id:2,name:”goldfish”,age:1,color:”golden”}])
---------------------------------------------------------------------------------------------------------------------------------
通常情况下,我们可能会忘记之前曾创建过的集合空间,集合有哪些,那么我们如何查询我们查询的集合空间和集合呢?
db.listCollectionSpaces()
Db.listCollections()
db.foo.bar.find()可以查询集合中的所有记录。
而如果你想获得单个集合空间的信息时,可以通过db.getCS()获得。
getCS()方法的定义格式只有name字段,name的值是字符串型。
例如,获得Zoo集合空间的信息,db.getCS(“Zoo”)
而如果你想获得单个集合的信息时,可以通过db.collectionspace.getCL()获得。
getCL()方法的定义格式必须指定name参数,并且name的值在集合空间中存在,否则操作异常。例如,获得foo集合空间中集合party的信息,db.foo.getCL(“party”)
结论:通过上述实验,了解了在SequoiaDB中,要获得集合空间或集合等某一类型信息,应该是采用list(),而如果是获得单个集合空间或集合的信息,则应该采用get()。同时,也通过实验证明了_id的唯一性是针对同一个集合而言的,而非一个集合空间。