#Mongo Teach Yourself Read Me
- Simple node app that connects to a MongoDB database using Mongoose.
- Why did you choose this subject?
- Wanted to have exposure to the "M" in the Mean Stack
- How were you first made aware of it?
- It is a common pairing with angular, node.js, and express
- What problem does it solve and how does it solve the problem (conceptually)?
- MongoDB is nonrelationial database. It is particularly good at dealing with JSON-like documents. MongoDB uses dynamic schemas. We can store arrays and other complex structures.
- Why does one use it?
- Flexibility. when you don't want a rigid schema. Craigslist uses it b/c they don't have to use a lot of schema migrations.
- What are the alternatives and what is it similar to, if anything?
- any sql-based databases (e.g. postgresql and mysql) are alternatives. other nosql databases include apache, cassandra, redis, etc.
- What is the history of this technology. Who built it and why. Who is maintaining it?
- Carlo Strozzi in 1998 coined the term NoSQl. In 2009, MongoDB was released by MongoDB Inc (formerly 10gen). They are the main maintainers of this open source program.
- What is your opinion on the technology after having built something with it?
- I can see it is much easier to set up. The language is much easier to understand and type than psql or mysql. For example, to get a list of all users, the Mongo command is db.users.find() but psql is SELECT * FROM users.
- What are the biggest conceptual hurdles (if any) you encountered when researching this?
- There are multiple drivers you can use for mongoDB, so stackoverflow might have answers for let's say mongoose when you're looking for the python equivalent.
- What resources do you recommend for interested students?
- MongoDB's website has excellent documentation including tutorials.
- What article or forum was most helpful to you in learning this?
- See above.
- What are 3 interview questions one might be asked about this technology?
- How is mongoDB different than postresql?
- When would you use one over the other?
- Explain how mongoDB and angular connect?
- Install MongoDB
- Refer to MongoDB's website for installation instructions
- Can be installed with homebrew
- Run npm install after download to install dependencies