日期:2014-05-16 浏览次数:20508 次
最近在学习Mongo,向通过官方文档来获得第一手资料,无奈自己的英语水比较跛脚,但是总是要迈出第一步,所以现在尝试翻译在这里,如果有不好的地方,还望各位看官拍砖,废话少说,开始:
官方文档地址:http://docs.mongodb.org/manual/tutorial/getting-started/
1.连接到数据库
通过Mongo命令连接到数据库,然后可以通过mongo shell来在数据库的实例中选择一个逻辑数据库,也可以通过mongo shell获得帮助信息;
1.1.在系统提示符下(命令行),通过运行mongo命令,如下:
mongo
默认情况下,mongo命令会把连接建立在localhost接口,并监听在27017端口。如果要连接到不同的数据库
可以使用 --port和--host操作!
1.2.选择一个数据库
在启动mongl sell之后,会话会默认连接test数据库,任何时候都可以通过db命令来返回当前的数据库:
db
db命令返回当前的数据库,
1.1.1 在mongo shell界面,通过如下命令显示mongo中的所有数据库:
show dbs;
1.1.2 通过以下命令来切换到一个新建的名为mydb的数据库中:
use mydb;
1.1.3 通过db命令来确认当前的数据库为mydb,操作如下:
db;
注意:如果你依然使用show dbs命令,mongo db不会返回mydb的名称,因为MongoDB直到往当前数据库中插入数据时才会
建立该数据库,(这一点类似于Android中SQLite数据库,只有getReadableDatabase()方法调用时才会新建数据库)
注意:在2.3.1的版本中,show databases;同样会返回一个数据库列表!
1.3.显示mongo 帮助
你可以再任何时候通过如下命令来调用mongo shell得到帮助信息:
help;
此外你可以在其他方法比如一些JavaScript函数,cursor对象后面添加.help()
例如:db.help(),db.collection.help()等,他们会返回具体的帮助信息!
2.创建一个聚集并插入文档
在这里,你会将文档插入到mydb数据库中一个新建的名为things的聚集中。
MongoDB会在第一次使用数据库的时候默认创建数据库和聚集,你不必要再第一次插入数据之前进行单独的创建
数据库和聚集。此外,因为MongoDB采用动态模式(dynamic schemas),所以你不必在将文档插入到聚集之前特意指定他们的结构!
插入一个单独的文档
2.1 在命令提示符下,通过以下命令确认当前context是mydb:
db
2.2 如果在刚才的操作中mongo没有返回mydb,通过如下命令将context设置为mydb:
use mydb
2.3 通过以下的JavaScript顺序语句操作,创建两个名为j,k的文档:
j = {name : "mongo"}
k = {x : 3}
2.4 通过以下操作序列将文档j,k插入到聚集things中:
db.things.insert(j)
db.things.insert(k)
当你插入第一个文档的时候,mongod文件会创建mydb数据库和things聚集!
2.5 通过以下操作来确认things已经被创建:
show collections
在这里,mongo shell会返回当前数据库(mydb)下的聚集列表,当前只有一个名叫things的聚集。
每个mongo数据库都有会以个名为system.indexes的聚集!
2.6 通过在things聚集中进行查询操作来确定刚才插入的两条文档已经存在。如下语句所示使用find()函数:
db.things.find()
以上操作会返回如下结果,其中ObjectId是唯一的:
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }