12 comments

[ 4.2 ms ] story [ 44.9 ms ] thread
Looks cool.

Looks like you did the hardest part of preparing new database for Meteor. Meteor pretty much requires JavaScript implementation of database. Having that, you can create some alternative to MongoDB.

Keep up great work!

Hello, I worked at a RethinkDB integration for Meteor (https://github.com/Slava/meteor-rethinkdb) for a week as my "hack" project.

I must say, there seems to be a lot of work to be done, before we can call this implementation "stable" for kind of quality bar Minimongo (https://github.com/meteor/meteor/tree/devel/packages/minimon...) has in Meteor. It is not uncommon to see Reqlite queries to fail because of simple bugs.

Not to say that the library is hopeless, Neumino did a lot of grunt work that makes it easy to test and contribute. See this thread where we discuss the missing functionality: https://github.com/neumino/reqlite/issues/3

Try the new master, it's pretty good now :)
Author here, these TODOs are just to make my life easier. r.range has some limitations now though.

It should be pretty hard to make a query fail beside the issues currently opened.

I love RethinkDB and this looks like a great idea for testing. A lite ReQL implementation (just satisfying the API requirements, with little to none performance tuning) in something like C, though, would be even better for embedding purposes. You know, the biggest selling point of SQLite isn't that it makes testing easy, but that it's easy to embed.

Single-binary tool with an embedded RethinkDB, syncing with a master instance when it's connected to the internet - one can dream.

Can something like this be done with CouchDB and PouchDB? (CouchDB JS implementation – http://pouchdb.com/)
Yes, in a few lines of code:

    const PouchDB = require('pouchdb');
    const localDB = new PouchDB('db');
    const remoteDB = new PouchDB('http://192.168.1.100:5984/db');
    // remote db can be a CouchDB or PouchDB server.

    localDB.sync(remoteDB);
I'm using this with React for a mobile app that works offline, and syncs up when a connection is available.
Pretty cool idea, all we need is a JS OS and the entire stack can be JS.
(comment deleted)
How the data are persisted ?
It doesn't sync to disk yet but it's planned.