【发布时间】:2013-11-29 18:32:05
【问题描述】:
我发现了这个关于SQL-like query libraries 的问题。我正在寻找的是一个允许查询 JSON 对象的库,它嵌入在客户端应用程序(浏览器)中,以及来自远程高性能专用数据库。
【问题讨论】:
标签: database json nosql client-side server-side
我发现了这个关于SQL-like query libraries 的问题。我正在寻找的是一个允许查询 JSON 对象的库,它嵌入在客户端应用程序(浏览器)中,以及来自远程高性能专用数据库。
【问题讨论】:
标签: database json nosql client-side server-side
为了完整起见,我将丢弃 PouchDB 和 CouchDB。
客户端邮袋:http://pouchdb.com/ 服务器端的沙发:http://couchdb.apache.org/
【讨论】:
我正在寻找同样的东西,经过大量搜索后突然发现 NeDB,它现在有一个浏览器实现。
https://github.com/louischatriot/nedb
与 PouchDB 不同,它具有类似 Mongo 的查询 API。
【讨论】:
var db = new Nedb() 开头。 (注意它可以用ajax加载和保存文件)
您可以尝试与 couchbase 服务器同步的 couchbase lite(客户端)。
http://www.couchbase.com/communities/couchbase-lite 和 http://www.couchbase.com/
它是一个基于文档的 nosql 数据库,查询不如 SQL 丰富,但您可以创建额外的索引,通过使用 couchbase 视图(map reduce 作业)来查询您的数据。这些都在客户端和服务器上工作,它还支持设备和服务器之间的同步。
【讨论】:
(是的,我迟到了)
今天还有一个不错的选择:https://github.com/typicode/lowdb。它使用 lodash,并且在 unpkg 上可以使用 UMD 构建来进行测试和快速原型设计:
<script src="https://unpkg.com/lodash@4/lodash.min.js"></script>
<script src="https://unpkg.com/lowdb@0.17/dist/low.min.js"></script>
<script src="https://unpkg.com/lowdb@0.17/dist/LocalStorage.min.js"></script>
<script>
var adapter = new LocalStorage('db')
var db = low(adapter)
</script>
然后,像这样使用它:
// Add a post
db.get('posts')
.push({ id: 1, title: 'lowdb is awesome'})
.write()
db.get('posts')
.find({ id: 1 })
.value()
检查可用的不同适配器
【讨论】:
如果你想使用 SQL 查询,你可以试试N1QL。这个对 Couchbase 的扩展允许您查询与 SQL 查询非常相似的系统。你也应该看看ElasticSearch。这是一个非常强大的搜索引擎,但查询语言不是 SQL。 Couchbase 和 ElasticSearch 通过plugin 很好地相互交互。 OrientDB 还允许对与 SQL 非常相似的语言进行查询。我认为可以将 OrientDB 调整为 json 格式。当然还有MongoDB。
【讨论】: