如何使用LokiJS查询多个表(加入)?

时间:2018-02-04 08:19:13

标签: join node-webkit lokijs

由于我无法在node-webkit应用程序中使用SQLite,我正在查看LokiJS,但我似乎无法找到在2个数据集之间进行连接或某种关系的简单方法。 / p>

一个数据集是艺术家,另一个是媒体。 由于它可能拥有5000名艺术家和100万媒体,我认为最好通过使艺术家成为媒体的子文档来避免重复。此外,如果我修改1000个媒体条目的艺术家,则需要大量写作,而不是仅仅更新艺术家数据集中的一个条目。

我找到的唯一连接创建了返回的json,如下所示:

Object {
  left: {
    // artists
  },
  right: {
    // media
  }
}

我更喜欢的是更传统的东西:

{
  artist_id:
  artist_name:
  media_id:
  media_title:
}

我查看了NeDB,它提供了更容易的连接,但现在还没有更新超过2年。我无法让SQLite3为nodewebkit 0.28.0编译,也没有得到SO的答案。无论如何,LokiJS看起来更有趣,因为它在内存和磁盘上。

那么我如何加入艺术家和媒体呢?

谢谢!

2 个答案:

答案 0 :(得分:0)

joinResult.map(data => {
let a = {}
a.artist_id = data.left.artist_id
a.artist_name = data.left.artist_name
a.media_id = data.right.media_id
a.media_title = data.right.media_title
return a
 })

使用lodash进行最终数据处理。

答案 1 :(得分:0)

我认为df <- data.frame(ID=c("a","b","c","a","b","c","a","b","c"), val=c(seq(1:9)), val2=c(1,2,4,NA,5,NA,7,NA,NA)) left对象在这里应该不是问题。我正在使用的代码是

right