日期:2014-05-16  浏览次数:20425 次

Mongodb 初学 一

Mongodb 下载地址:http://www.mongodb.org/downloads

Mongodb? java 驱动下载地址:https://github.com/mongodb/mongo-java-driver/downloads

?

下载完数据库,首先启动数据库。

在cmd中找到存放mongodb的盘符,然后运行mongod,如下:

E:\mongodb-win32\bin>mongod

会提示启动不成功,默认会去找一个/data/db的目录来存放数据库文件,如果找不到提示启动失败。

1.可以在这个盘符的根目录建一个/data/db目录,然后运行mongod,发现会生成相关的数据库文件。

2. 也可以指定一个目录来存放文件,命令是:mongod --dbpath?? E:\mongodb-win32\data,会发现提示启动成功。

?默认情况下,mongodb 使用的是27017端口, mongod还会启动一个http服务器,监听数字比数据库端口高1000,所以可以通过http://localhost:28017/?来访问。本应用显示的数据库的一些管理信息。

?

接下来就可以连接数据库了。

E:\mongodb-win32\bin>mongo


MongoDB shell version: 2.4.6-pre-
connecting to: test

连接成功了,接下来创建数据库。

> use base
switched to db base

创建了base数据库文件,并切换到base数据库上。
显示数据库:
> show dbs
base??? (empty)
local?? 0.03125GB

保存数据到UserInfo这个表,如果表不存在则创建:
> db.UserInfo.save({userName:"ssg"})

?

查询这张表,你会发现他自动生成了一个_id:

> db.UserInfo.find()
{ "_id" : ObjectId("51f8c09fe33adc1be42c469d"), "userName" : "ssg" }

?

查看当前连接的数据库有哪些表
> show collections
UserInfo
system.indexes

?

再插入一条:

> db.UserInfo.save({userName:"asd",sex:"1",mobile:"131000000000"})

查询:
> db.UserInfo.find()
{ "_id" : ObjectId("51f8c09fe33adc1be42c469d"), "userName" : "ssg" }
{ "_id" : ObjectId("51f8d570e33adc1be42c469e"), "userName" : "asd", "sex" : "1",
?"mobile" : "131000000000" }

?

下面删除这条数据(删除username是ssg的数据):

> db.UserInfo.remove({username:"ssg"})


> db.UserInfo.find()
{ "_id" : ObjectId("51f8c09fe33adc1be42c469d"), "userName" : "ssg" }
{ "_id" : ObjectId("51f8d570e33adc1be42c469e"), "userName" : "asd", "sex" : "1",
?"mobile" : "131000000000" }

我们发现,为什么没有删除掉呢? 因为mongodb是大小写区分的,username和userName不一样。

下面这样删除一下就好了。
> db.UserInfo.remove({userName:"ssg"})
> db.UserInfo.find()
{ "_id" : ObjectId("51f8d570e33adc1be42c469e"), "userName" : "asd", "sex" : "1",
?"mobile" : "131000000000" }


?最后还发现一个秘密:就是mongodb 是一个功能完备的javascript解释器,可以运行任何javascript程序,神奇啊。

?