Couchbase的 N1QL已经DP4了,在官方的文档中,Select * From like-table
这个like-table实际上指的是Couchbase中Bucket,那么对于早起版本Couchbase的使用者来说,是否需要建立类似于RDBMS中,每一种数据集合建立一个Bucket呢?
首先,官方对于Bucket,认为是越少越好,因为节点同步等等操作都是以Bucket为单位的.其次,如果你只使用一个Bucket,那你存储的数据可以增加一个Type字段,建立索引的时候,加上这个Type字段以及你需要查询的条件字段就可以了。
N1QL中建立索引的语法:
CREATE INDEX index-name ON named-keyspace-ref ( expression [, expression]* ) [where-clause] [using]
示例
CREATE INDEX indexName ON bucketName (字段1,字段2 ) where 字段1=="XXType" And 字段2=""