What SQLite to use with nodejs

I am developing application using node.js. In that I am willing to use SQLite as embedded database. I searched online for SQLite npm modules. I found various modules:

  1. https://github.com/grumdrig/node-sqlite
  2. https://github.com/orlandov/node-sqlite
  3. https://github.com/developmentseed/node-sqlite3

From documentation and other sources, I understood that (1) operates synchronously, while (2) and (3) works asynchronously. So, I dropped the plan to use (1).

Now, I want to know what is the difference between (2) and (3) and which one should be preferred? I googled a lot but could not find much to help.

Use https://github.com/developmentseed/node-sqlite3. It's asynchronous (almost a must-have), it's the most actively maintained, and it has the most stars on GitHub.

Alternatively, you could use a javascript embedded database. This way you just need to declare the database as a dependency in your package.json and require() it in your application.

Check out NeDB (which I wrote) or nStore for example.

Grumdrig's module seems to be the one referenced the most on Stack Overflow, and on other sites as well.

Also, the documentation is pretty good: http://github.grumdrig.com/node-sqlite/

I have rather little experience with Node SQLite, but the community seems to have chosen.