MongoDB Hello World Example

本文提供了一个快速指南,介绍如何在MongoDB中执行基本操作,如创建、更新、查找和删除记录以及索引等。使用MongoDB 2.0.7版本,在MacOSX 10.8环境下进行演示。

mongodb hello world

A quick guide to show you how to do basic operations like create, update, find, delete record and indexing in MongoDB. This example is using MongoDB 2.0.7, running on Mac OS X 10.8, both MongoDB client and server console are run on localhost, same machine.

1. Install MongoDB

Install MongoDB on WindowsUbuntu or Mac OS X. The installation is easy, basically just download the MongoDB zip file, extra and run the command – $MongoDB-folder/bin/mongod.

Uses mongod to start MongoDB.

$./mongod
Tue Sep 11 21:55:36 [initandlisten] MongoDB starting : pid=72280 port=27017 dbpath=/data/db/ 64-bit host=Yongs-MacBook-Air.local
Tue Sep 11 21:55:36 [initandlisten] db version v2.0.7, pdfile version 4.5 Tue Sep 11 21:55:36 [initandlisten] options: {} Tue Sep 11 21:55:36 [initandlisten] journal dir=/data/db/journal
Tue Sep 11 21:55:36 [initandlisten] recover : no journal files present, no recovery needed
Tue Sep 11 21:55:36 [websvr] admin web console waiting for connections on port 28017 Tue Sep 11 21:55:36 [initandlisten] waiting for connections on port 27017
2. Connect MongoDB

To connect MongoDB, uses $MongoDB-folder/bin/mongo

$ ./mongo
MongoDB shell version: 2.0.7
connecting to: test
3. Create a database or table (collection)

In MongoDB, both database and table are created automatically when the first time data is inserted. Uses use database-name, to switch to your database (even this is not created yet).

In below example, after you inserted a single record, database “mkyong”, and table “users” are created on the fly.

$ ./mongo
MongoDB shell version: 2.0.7
connecting to: test > use mkyong
switched to db mkyong
  > db.users.insert({username:"mkyong",password:"123456"}) > db.users.find() { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" }

Three database commands you should know.

  1. show dbs – List all databases.
  2. use db_name – Switches to db_name.
  3. show collections – List all tables in the current selected database.
Note
In MongoDB,  collection means  table in SQL.
4. Insert A Record

To insert a record, uses db.tablename.insert({data}) or db.tablename.save({data}), both works, no idea why MongoDB created both.

> db.users.save({username:"google",password:"google123"}) > db.users.find() { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" } { "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
5. Update A Record

To update a record, uses db.tablename.update({criteria},{$set: {new value}}). In below example, the password of username : “mkyong” is updated.

> db.users.update({username:"mkyong"},{$set:{password:"hello123"}}) > db.users.find() { "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" } { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
6. Find Records

To find or query records, uses db.tablename.find({criteria}).

6.1 List all records from table “users”.

> db.users.find() { "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" } { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }

6.2 Find records where username is “google”

> db.users.find({username:"google"}) { "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }

6.3 Find records where username’s length is less than or equal to 2

db.users.find({$where:"this.username.length<=2"})

6.4 Find records where username field is existed.

db.users.find({username:{$exists : true}})
7. Delete Record

To delete a record, uses db.tablename.remove({criteria}). In below example, the record of username “google” is deleted.

> db.users.remove({username:"google"}) > db.users.find() { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
Note
To delete all records from a table, uses db.tablename.remove().
To drop the table, uses db.tablename.drop().
8. Indexing

Index may help you increase the speed of querying data.

8.1 List all indexes of table “users”, by default the column “_id” is always the primary key and created automatically.

> db.users.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "ns" : "mkyong.users", "name" : "_id_" } ] >

8.2 To create an index, uses db.tablename.ensureIndex(column). In below example, an index is created on column “username”.

> db.users.ensureIndex({username:1}) > db.users.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "ns" : "mkyong.users", "name" : "_id_" }, { "v" : 1, "key" : { "username" : 1 }, "ns" : "mkyong.users", "name" : "username_1" } ]

8.3 To drop an index, uses db.tablename.dropIndex(column). In below example, the index on column “username” is deleted or dropped.

> db.users.dropIndex({username:1}) { "nIndexesWas" : 2, "ok" : 1 } > db.users.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "ns" : "mkyong.users", "name" : "_id_" } ] >

8.4 To create an unique index, uses db.tablename.ensureIndex({column},{unique:true}). In below example, an unique index is created on column “username”.

> db.users.ensureIndex({username:1},{unique:true}); > db.users.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "ns" : "mkyong.users", "name" : "_id_" }, { "v" : 1, "key" : { "username" : 1 }, "unique" : true, "ns" : "mkyong.users", "name" : "username_1" } ]
10. Help

At last, uses help() to guide you how to do things in MongoDB.

10.1 help – All available commands.

> help db.help() help on db methods
	db.mycoll.help() help on collection methods
	rs.help() help on replica set methods help admin                   administrative help help connect                 connecting to a db help help keys                    key shortcuts //...

10.2 db.help() – Shows help on db.

> db.help() DB methods:
	db.addUser(username, password[, readOnly=false]) db.auth(username, password) db.cloneDatabase(fromhost) db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb, todb, fromhost) //...

10.3 db.collection.help() – Shows help on collection (table).

> db.users.help() DBCollection help db.users.find().help() - show DBCursor help db.users.count() db.users.dataSize() db.users.distinct( key ) - eg. db.users.distinct( 'x' ) db.users.drop() drop the collection
	db.users.dropIndex(name) //...

10.4 db.collection.function.help() – Shows help on function.

> db.users.find().help() find() modifiers
	.sort( {...} ) .limit( n ) .skip( n ) .count() - total # of objects matching query, ignores skip,limit .size() - total # of objects cursor would return, honors skip,limit .explain([verbose]) //...

Done. Hope this summary of MongoDB commands could help others.

References
  1. Official MongoDB tutorials
  2. MongoDB Indexes

转载于:https://my.oschina.net/lwaif/blog/372317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值