[MongoDB] Insert, find -- 1
MongoDB is JSON Document:
How to start MongoDB client:
mongod //start the server mongo // start the cli
How to restore a database:
mongorestore can create a new database or add data to an existing database.
If you restore to an existing database, mongorestore will only insert into the existing database, and does not perform updates of any kind. If existing documents have the same value _id field in the target database and collection, mongorestore will not overwrite those documents.
Read More: http://docs.mongodb.org/manual/reference/program/mongorestore/
Download the resoure: http://poeticoding.com/downloads/mongodb/mongodb_poeticoding_blog.zip
How to import json file into database:
mongoimport --db simple --collection people --jsonArray data.json
Read More: http://docs.mongodb.org/manual/reference/program/mongoimport/
Simple commands:
//show all the database: show dbs; //show all collections: show collections; //create or use one database use <database_name>
Insert:
The data you have:
{ title: "My first blog post", author:{ firstName: "YY", lastName: "KK", email: "yy.kk@yykk.com" }, tags: ["coding", "database"], pubData: new Date }
Cmd:
//insert into the posts collection db.posts.insert({ title: "My first blog post", author:{ firstName: "YY", lastName: "KK", email: "yy.kk@yykk.com" }, tags: ["coding", "database"], pubData: new Date });
Note: _id should be unique.
Find:
//get the oldest inserted data db.posts.findOne(); //get all the data db.posts.find();
db.posts.find().count(); //count the amount
db.posts.find().pretty(); //make output looks pretty
//Find according to the criteria //Find the title which is AngularJS db.posts.find({title: "AngularJS"}); //Find the title whcih contains AngularJS db.posts.find({title: /AngularJS/i});
//Find title contains 'ios', only show title, not _id in the result db.posts.find({title: /ios/i}, {title:1, _id: 0});
Javascript code for this: (something should looks like)
Posts.find({title: /ios/i}).select("title").exec(function(err, data) { response.json(200, data); })