本篇文档简单介绍一下关于 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);
});
});
});