# Table.addMany(), .consoleTable()

GoDB 允许一次添加多条数据


Table.addMany(data) 方法

  • 接受一个数组 ​​data
  • 返回装有完整数据的数组
  • 严格按照 data 的顺序添加
  • 返回 id 的数组,与 data 顺序一致


之所以单独写个 addMany,而不在 add 里加一个判断数组的逻辑,是因为用户想要的,可能就是添加一个数组到数据库中


import GoDB from 'godb';

const user = new Godb('testDB').table('user')

const data = [
   {
       name: 'luke',
       age: 22
   },
   {
       name: 'elaine',
       age: 23
   }
];

user.addMany(data)
   .then(res => console.log(res))
 .then(() => user.consoleTable());

// [
//     {
//          id: 1,
//         name: 'luke',
//         age: 22
//     },
//     {
//          id: 2,
//         name: 'elaine',
//         age: 23
//     }
// ] 


Table.consoleTable()


这里还用了一个 Table.consoleTable() 的方法,它会在浏览器的控制台打印出下面的内容:


image


这里的 (index) 就是 id


虽然 chrome 开发者工具内就能看到表内所有数据,但这个方法好处是可以在需要的时候打印出数据,方便 debug


注意:​​Table.consoleTable()​ 方法是异步的,因为需要在数据库里把数据库取出来;异步意味着紧接在它后面的代码,可能会在打印出结果之前执行,如果不希望出现这种情况,使用 awaitPromise.then 即可


注意:addManyadd 不要同步调用,如果在 addMany 正在执行时调用 add,可能会导致数据库里的顺序不符合预期,请在 addMany 的回调完成后再调用 add(未来可能会引入一个队列来修复这个问题)