本篇文档简单介绍一下关于 stf 数据库的一些简单操作(注:本文中的所有代码请在 node 模式下运行)

一、创建表
创建表 dc_universe

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
  r.db('test').tableCreate('dc_universe').run(conn, function(err, res) {
    console.log(res);
  });
});

二、删除表
删除表 dc_universe

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
  r.db('test').tableDrop('dc_universe').run(conn, function(err, res) {
    console.log(res);
  });
  });

三、创建表数据
1.插入一条数据

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn,callback) {
  r.db('test').table("dc_universe").insert(
  {id: 1,title: "Lorem ipsum",content: "Dolor sit amet"}
  ).run(conn, function(err, res) {
    console.log(res);
  });
});

2.插入多条数据

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn,callback) {
  r.db('test').table("dc_universe").insert([
  {id: 1,title: "Lorem ipsum",content: "Dolor sit amet"},
  {id: 2,title: "I love you",content: "I love you too"},
  {id: 3,title: "I miss you",content: "I miss you too"},
  {id: 4,title: "Are you ok",content: "I am ok"},
  {id: 5,title: "How are you",content: "I am fine"},
  {id: 6,title: "what is up",content: "I am working"}
]).run(conn, function(err, res) {
    console.log(res);
  });
});

四、更改表数据
1.如果表中无此字段,会插入这个字段

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").filter({id: 1}).update({status: "published"}).run(conn, function(err, res) {
    console.log(res);
  });
  });

2.如果表中有此字段,直接更新此字段的值

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").filter({id: 1}).update({title: "Lorem ipsum11111111111"}).run(conn, function(err, res) {
    console.log(res);
  });
  });

3.更新所有行数据某列的值

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").update({state: 50}).run(conn, function(err, res) {
    console.log(res);
  });
  });

4.更新指定行的多列的值

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").filter({id: 1}).update({title: "Lorem ipsum333",content:"Dolor sit amet333"}).run(conn, function(err, res) {
    console.log(res);
  });
  });

五、删除表数据
1.删除指定行数据(注:假如只一行的话,那删除成功后,字段内容也被清空了)

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").filter({id: 6}).delete().run(conn, function(err, res) {
    console.log(res);
  });
  }); 

2.清空表所有数据(包括字段内容)

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
    r.db('test').table("dc_universe").delete().run(conn, function(err, res) {
    console.log(res);
  });
  });

六、查询
1.查询所有数据库

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn, callback) {
    r.dbList().run(conn, function(err, res) {
    console.log(res);
  });
  });

2.查询所有的表

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn, callback) {
    r.db('test').tableList().run(conn, function(err, res) {
    console.log(res);
  });
  });

3.查看表的多行数据

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
r.db('test').table('dc_universe').getAll(1,2,3).run(conn, function(err, cursor) {
    cursor.each(function(err, universe) {
        console.log(universe);
        console.log(universe.title);
    });
});
});

4.根据主键查询某一行数据、某列的值
方式一:

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn, callback) {
    r.db('test').table('dc_universe').get(1).run(conn, function(err, res) {
    console.log(res);
    console.log(res.title);
    console.log(res.content);
  });
  });

方式二:使用 getField 关键字

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn, callback) {
    r.db('test').table('dc_universe').get(1).getField('title').run(conn, function(err, res) {
    console.log(res);
  });
  });

5.遍历 stf/users 表的数据

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn) {
r.db('stf').table('users').run(conn, function(err, cursor) {
    cursor.each(function(err, user) {
        console.log(user.name,user.email);
    });
});
});

6.使用 filter 关键字 (filter 相当于 where 条件)

r = require('rethinkdb')
r.connect({ host: 'localhost', port: 28015 }, function(err, conn, callback) {
    r.db('test').table('dc_universe').filter({state: 50,status:'published'}).run(conn, function(err, cursor) {
    cursor.each(function(err, universe) {
        console.log(universe);
    });
  });
  });


↙↙↙阅读原文可查看相关链接,并与作者交流