1. 安装MongoDB的
MongoDB的安装的Windows,Ubuntu的或Mac OS X的安装很简单,基本上只是MongoDB的zip文件下载,额外的,并运行命令- MongoDB-
folder/bin/mongod元。
使用的mongod启动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.连接MongoDB的
MongoDB的连接,使用$ MongoDB-folder/bin/mongo
$ ./mongo
MongoDB shell version: 2.0.7
connecting to: test
3。创建数据库或表(集合)
在MongoDB中,数据库和表时自动创建的第一次数据被插入。用途使用的数据库的名称,切换到你的数据库(甚至还没有创建)。
In below example, after you inserted a single record, database “mkyong”, and table “users” are created on the fly.
在下面的例子中,插入一个记录,数据库“mkyong”,和表后,“用户”的飞速创建。
$ ./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" }
三个数据库命令,你应该知道。
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.
1 显示DBS -列出所有的数据库。
2 使用DB_NAME -开关DB_NAME。
3 展示系列 -列出当前选择的数据库中的所有表。
注意
集合在MongoDB中,是指在SQL 表。
4. Insert A Record
4。插入一条记录
要插入一条记录,使用或db.tablename.save db.tablename.insert({数据})({数据}) ,这两个动作不知道为什么MongoDB的同时创建了。
> 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。更新记录
要更新记录,使用:({标准},{$集:{新值}} db.tablename.update) 。在下面的例子中,用户名的密码:的“mkyong”被更新。
> 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
6。查找记录
为了找到或查询记录,使用db.tablename.find({标准}) 。
6.1列出的所有记录表“用户”。
> db.users.find()
{ "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
{ "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
>db.users.find()
{ “_id”:OBJECTID(“504f48ea17f6c778042c3c0a),“用户名”:“谷歌”,“密码”:“google123” }
{ “_id”:OBJECTID(“504f45cd17f6c778042c3c07” ),“密码“:“hello123” ,“用户名”:的“mkyong”}
6.2查找记录,其中用户名是“google”
> db.users.find({username:"google"})
{ "_id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
>db.users.find({用户名:“谷歌”})
{ “_id”:OBJECTID(“504f48ea17f6c778042c3c0a),“用户名”:“谷歌”,“密码”:“google123” }
6.3 Find records where username’s length is less than or equal to 2
6.3查找记录,其中username的长度小于或等于2
6.4Â Find records where username field is existed.
6.4查找其中username字段存在的记录。
db.users.find({username:{$exists : true}})
7。删除记录
要删除一条记录,使用db.tablename.remove({标准}) 。在下面的例子中,用户名 “google”的记录将被删除。
> db.users.remove({username:"google"})
> db.users.find()
{ "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
使用db.tablename.remove()注意:从表中删除所有记录,
删除表,使用db.tablename.drop() 。
8. Indexing
8。索引
指数可以帮助您提高数据查询的速度。
8.1 List all indexes of table “users”, by default the column “_id” is always the primary key and created automatically.
8.1名单表“用户”,默认情况下,所有的索引列“_id”始终是主键和自动创建。
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
}
]
>
8.2要创建索引时,使用db.tablename.ensureIndex(列)。在下面的例子中,“用户名”列上创建索引。
> 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删除索引,使用db.tablename.dropIndex(列)。在下面的例子中,“用户名”列上的索引被删除或丢弃
> db.users.dropIndex({username:1})
{ "nIndexesWas" : 2, "ok" : 1 }
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
}
]
>
8.4要创建一个唯一索引,使用db.tablename.ensureIndex({列},{独特之处:真}) 。在下面的例子中,“用户名”列上创建唯一索引。
> 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。帮助
最后,使用说明()来指导你如何在MongoDB做的事情。
10.1 help – All available commands.
10.1 帮助 -所有可用的命令。
> 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
//...
> 帮助
db.help() 帮助DB方法 db.mycoll.help() 帮助收集方法 rs.help()
副本一套方法
帮助帮助admin管理员的帮助
帮助连接到一个数据库帮助
帮助键快捷键
/ /...
10.2 db.help() -显示help 在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.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)
//...
>db.users.help()
DBCollection,帮助
db.users.find()帮助()-秀DBCursor的帮助
db.users.count()
db.users.dataSize()
db.users.distinct(键)-例如。db.users.distinct( 'X' )
db.users.drop()删除集合 db.users.dropIndex(名称)
/ /...
10.4 -显示功能的帮助。
> 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])
//...
>db.users.find()()
()帮助修饰符 排序( {...} )(n)的
限制 。跳过(n)的
。计数()-总#查询匹配的对象,忽略跳过,限制
大小()-总#的对象光标将返回,荣誉跳过,限制
解释([详细])
/ /...
完成。希望本摘要MongoDB的命令可以帮助别人。