6 ms·
Nodejs and MongoDB, A Beginner's Approach
- stottc 15y agoThere's something incredibly natural about node & mongo together.
- frou_dh 15y agoThey're both Web Scale
- Luyt 15y agoFunny video: http://www.mongodb-is-web-scale.com/ http://www.mongodb-is-web-scale.com/
- dextorious 15y agoActually it's more like: hey, let's take two tools that ought to be used with utmost caution by people who know what they're doing and why they need them, and present them as the best thing since sliced bread. The huge majority of uses for either would be better served without them.
- trafficlight 15y agoWhy such an elitest attitude? We all have to start somewhere.
- dextorious 15y agoWhat elitist attitude? Agree, we all have to start somewhere, and the basics --a relational DB and a synchronous framework are fine somewheres to start from. Now, when (and if) you know enough about those, by all means move on to NoSQL etc. Note, though, that I'm taking about people using it in production and not knowing what the compromises are --the "Mongo DB is webscale" and "node.js is damn fast" people. I have no problem with people that are just using it to play/experiment with (though, they too would have to understand the compromises eventually).
- trafficlight 15y agoWhat does it matter to you if they use it in production? It's not like your house is going to burn down.
- dextorious 15y agoHuh? Things should only matter to us when they affect us personally? Caring for the state of technology and development in general is prohibited?
- stottc 15y agoOur team's been using node/mongo in production for nearly a year now - on large social games. The win on engineering productivity alone has made them a good choice for us.
- wavephorm 15y agoMongo is excellent but I'd argue that Node and CouchDB is even a better fit because there's not even a driver involved, it's one HTTP request which just calls another.
- latch 15y agosite seems to be having load issues. Mirror: https://gist.github.com/1327266 https://gist.github.com/1327266
- senko 15y agoI'm both Node and MongoDB user and like them, but this can get really messy when there's a chain of callbacks involved, eg when you need a sequence of results but want to do it in a asynchronous fashion.
- latch 15y agoIs that specific to MongoDB on node, or is that just generally true of node.js code though?
- senko 15y agoIt's generally true for Node when you have a lot of chained I/O. You can somewhat avoid it using events (so you set up event listeners instead of just chaining callbacks endlessly). So far I haven't seen any MongoDB module for Node taking advantage of those (haven't looked a lot yet, though).
- ksetyadi 15y agoUsing event instead of callback to sequentially get the results with asynchronous way it's a potentially good idea. I also haven't learn much about another Nodejs-MongoDB libraries except the one what I have mentioned there. Please share if you have a follow-up on this technique.
- viscanti 15y agoI've used EventEmitter on a couple toy projects, but I've always assumed that's adding a bit more overhead to everything than just using callbacks. It's easier to read though and probably easier for someone else to figure out in the future. I've played with node.js libraries that have callbacks strung out over several files, so tracking down exactly where some behavior is happening isn't easy. There are a few examples out there about using events/listeners, but I think there's room for a really good one.
- mcantelon 15y agoMongoose is pretty good for succinct Node/MongoDB interaction.
- qF 15y agoThis guide really shows what I think is a big problem with a lot of Node guides, they don't go beyond the first 5 minutes. There are a ton of guides on how to set up a webserver in 20 lines, but hardly any on how to (properly) handle a lot of async callbacks and requests etc.
- dpapathanasiou 15y agoI've written about how to use callbacks in this context: http://denis.papathanasiou.org/?p=704 http://denis.papathanasiou.org/?p=704
- ksetyadi 15y agoIt's hard to cover many aspects of it when we talked about getting our feet wet. I try to include as few terms as possible that potentially confused people to start coding Nodejs-MongoDB. It's probably a big problem when you try to get your feet wet on the first day you learn about swimming just by jumping all over the pool. But then, hopefully, we learn. Thanks for your opinion :)
- hello_moto 15y agoI'm not sure that both Node.js and MongoDB appeal beginners. These 2 tools are reserved for people who exactly know what they want out of their tools, not for someone who just jumped in to "web development" and wanted to use buzzword compliant tools. Sorry for being such a snippy on Monday morning but I'm hoping people around me would become better at fundamental as opposed to combining tools w/o knowing what they're good for.
- tista 15y agoAsync behaviors would be a great read up for your next article :D
- Srirangan 15y agoTo be honest, a good attempt by the author but I wouldn't recommend this to a beginner. Why? I don't recommend the use of the native driver - you end up with needlessly complex code. I don't want to criticize the authors work. He's done a pretty good and thorough job. Hopefully I'll pen down an easier guide later tonight.
- ksetyadi 15y agoIt's always nice to have another point of view within a subject. Would like to know more.
- mcantelon 15y agoYeah, I'd say many folks will probably end up wanting to use something like Mongoose to abstract the nitty-gritty details of Node/MongoDB interaction, but knowing how to use the underlying library (and node-mongodb-native is the most popular of them by far) is healthy for beginners.
- olegp 15y agoOn a related note, I'm working on a synchronous narwhal-mongodb compatible driver that would work with common-node (http://olegp.github.com/common-node/ http://olegp.github.com/common-node/), Would anyone be interested in helping out?