Actually, in my code I always start with low():
low('foo').insert({ name: 'foo' })
low('bar').insert({ name: 'bar' })
low('foo').insert({ name: 'foo' })
So never really considered this way of writing or had this bug.But I can see that it's a flaw and unexpected behavior. I'm adding this to the enhancements for the next version.
Thanks for spotting it :)
Just a little update. I've released LowDB 0.4.0 which is a complete rewrite of the project.
It fixes some initial flaws/bugs and includes some new features. Also, writing is now fault-tolerant and fully asynchronous.
Unfortunately, in this case, you can't necessarily. One of the issues here is that holding on to handles to multiple collections doesn't do what it seems to, and also doesn't fail. Try running this: