安装

Linux

git clone https://github.com/OnceDoc/OnceDB.git
cd OnceDB
make

Windows

请到 Release 下载二进制可执行文件

驱动

Node.JS

npm install oncedb-client

String 搜索

按条件搜索


client.search('text*', '=', 'Kris', function(err, objs) {
  console.log(objs)
})

> [ 'text1', 'Kris' ] 

client.search('text*', '~', 'Kris', function(err, objs) {
  console.log(objs)
})

> [ 'text1', 'Kris', 'text5', 'This is ok, Kris' ]

Hash 搜索

按条件搜索


client.hsearch('userInfo:*', {'nVisit': {'>': 300}}, function(err, objs) {
  console.log(objs)
})
//二者等价
client.hsearch('userInfo:*', {'nVisit': {'$gt': 300}}, function(err, objs) {
  console.log(objs)
})

 [ { _key: 'userInfo:1004', nVisit: '400' },
   { _key: 'userInfo:1005', nVisit: '10000' },
   { _key: 'userInfo:1006', nVisit: '10000' } ] }

搜索并显示多个字段


client.hsearch('userInfo:*', {
    'name'     : '*'
  , 'gender'   : '*'
  , 'nVisit'   : {'>'  : '100'}
}, function(err, objs) {
    console.log(objs)  
})

> [ { _key: 'userInfo:1006',
   name: 'Mar',
   gender: 'male',
   nVisit: '10000' ]

Hash 选择

查找指定key的指定field


client.hselect(
    ['name', 'email', 'isPublic', 'nVisit']
  , ['userInfo:100', 'userInfo:103', 'userInfo:1005', 'userInfo:1006']
  , function(err, objs) {
    console.log(objs)
})

> [ { _key: 'userInfo:100',
    name: 'shanghai',
    email: null,
    isPublic: null,
    nVisit: null },
{ _key: 'userInfo:103',
    name: 'newghost',
    email: null,
    isPublic: null,
    nVisit: null },
{ _key: 'userInfo:1005',
    name: 'Mars2',
    email: null,
    isPublic: '0',
    nVisit: '10000' },
{ _key: 'userInfo:1006',
    name: 'Mar',
    email: null,
    isPublic: '1',
    nVisit: '10000' } ]

查找指定key的所有field


client.hmgetall(['userInfo:100', 'userInfo:1003', 'userInfo:100'], function(err, objs) {
  console.log(objs)
})

> [ { _key: 'userInfo:100',
    id: '100',
    name: 'shanghai',
    gender: 'female',
    poster: '龙' },
  { _key: 'userInfo:1003',
    name: 'Telyer',
    id: '1003',
    gender: 'male',
    active: '0',
    joinTime: '1484445746020',
    poster: '王五',
    isPublic: '0',
    nVisit: '300' },
  { _key: 'userInfo:100',
    id: '100',
    name: 'shanghai',
    gender: 'female',
    poster: '龙' } ]