Hello. I've built a CouchDB2.0/Cloudant ORM library for NodeJS which I'm happy with. But I would like some feedback to see if it's something that other people find useful. I plan to use it in my own projects and that's what I built it for, but is available for others to play around with.
One thing that I'd find very helpful is an abstaction over couch that allows me to perform CRUD operations (which you already allow), and create indexes like with normal databases (index column[s] on table xyz).
One friction point with couch is the concept of view documents and how the indexing happens on lookup and not on insert.
Ideally the ORM should provide an abstraction so someone coming from a more SQL/Mongo world can quickly make use of.
After some investigation into session management and this library, I'm planning to move all CRUD operations to the `Couch` module. You should be able to perform any requests you want from that instance.
It's definitely optimal to offer as much flexibility on top of the core functionality as possible, I agree!
Indexes and views are on my list. I'd love to see where you would take that topic. It's a bit nebulous for me right now. I do want to be able to define views in code, and have the library figure out through hashing whether or not the view changed since the last revision.
But how exactly to do that and what to do with indexes... thank you for your feedback.
3 comments
[ 2.6 ms ] story [ 16.3 ms ] threadOne thing that I'd find very helpful is an abstaction over couch that allows me to perform CRUD operations (which you already allow), and create indexes like with normal databases (index column[s] on table xyz).
One friction point with couch is the concept of view documents and how the indexing happens on lookup and not on insert.
Ideally the ORM should provide an abstraction so someone coming from a more SQL/Mongo world can quickly make use of.
It's definitely optimal to offer as much flexibility on top of the core functionality as possible, I agree!
Indexes and views are on my list. I'd love to see where you would take that topic. It's a bit nebulous for me right now. I do want to be able to define views in code, and have the library figure out through hashing whether or not the view changed since the last revision.
But how exactly to do that and what to do with indexes... thank you for your feedback.