由于我无法在node-webkit应用程序中使用SQLite,所以我正在寻找LokiJS,但我似乎找不到一种简单的方法来连接或建立两个数据集之间的某种关系。
一个数据集是艺术家,另一个是媒体。由于它可能容纳5000个艺术家和一百万个媒体,我认为最好是将艺术家作为媒体的子文档来避免重复。另外,如果我修改包含1000个媒体条目的艺术家,将需要大量的编写工作,而不仅仅是更新艺术家数据集中的一个条目。
我找到的唯一连接创建返回的json,如下所示:
Object {
left: {
// artists
},
right: {
// media
}
}我更喜欢的是更传统的东西,比如:
{
artist_id:
artist_name:
media_id:
media_title:
}我看过NeDB,它提供了更简单的连接,但现在已经有两年多没有更新了。我无法让SQLite3为nodewebkit 0.28.0进行编译,也没有得到任何答案。无论如何,LokiJS看起来更有趣,因为它在内存和磁盘中。
那么我如何才能加入艺术家和媒体呢?
谢谢!
发布于 2018-10-18 00:37:46
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进行最终的数据操作。
发布于 2019-03-09 13:42:41
我不认为left,right对象在这里应该是个问题。我使用的代码是
const q = db.card.eqJoin(db.deck, "deckId", "$loki", (l, r) => {
const {front, back, note, srsLevel, nextReview, tags} = l;
return {
front, back, note, srsLevel, nextReview, tags,
deck: r.name
};
}).find(query);
const count = q.copy().count();
const data = q.offset(offset).limit(limit).data();https://stackoverflow.com/questions/48606109
复制相似问题