MongDb数据库的简单使用

在2011年毕业刚参加工作那会儿,和我一起租房的大学同学的公司就是用MongDb数据库,一直听他说MongDb很牛叉,今天就在本机装上玩玩看。

MongoDB数据库的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

* 面向集合存储,易存储对象类型的数据。
* 模式自由。
* 支持动态查询。
* 支持完全索引,包含内部对象。
* 支持查询。
* 支持复制和故障恢复。
* 使用高效的二进制数据存储,包括大型对象(如视频等)。
* 自动处理碎片,以支持云计算层次的扩展性
* 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
* 文件存储格式为BSON(一种JSON的扩展)
* 可通过网络访问

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

安装很简单随便在网上找个技术博客照抄就行,数据库redis和MongDb都是非关系型数据库(NoSql)和本机的mysql的安装使用是不冲突的。

1.启动MongDb服务(cmd窗口==》快捷键:windows+r):

C:\Users\chb>e:

E:\>cd MongDb

E:\MongDb>cd bin

E:\MongDb\bin>mongo.exe

MongoDB shell version: 2.6.5

connecting to: test

Welcome to the MongoDB shell.

For interactive help, type "help".

For more comprehensive documentation, see

        http://docs.mongodb.org/

Questions? Try the support group

        http://groups.google.com/group/mongodb-user

>

> show dbs  // 显示所有数据库,==》show databases;

admin  (empty)

local  0.078GB

> use local   // 选中数据库

switched to db local

> show tables;  // 显示该数据库下的所有表(自创的命令)

startup_log

system.indexes

users

> db.users.save({"name":"lecaf"})  // 向表users添加一条name=lecaf的记录,users表不存在MongDb自动创建

WriteResult({ "nInserted" : 1 })  // 添加成功后的提示

> db.users.insert({"name":"chenhaibo","age":"26"})

WriteResult({ "nInserted" : 1 })

> db.users.insert({"name":"chenhaibo0806","age":"27"})

WriteResult({ "nInserted" : 1 })

> db.users.find()  // 查找所有记录

{ "_id" : ObjectId("5444b602b0a75fa95741d1dc"), "name" : "lecaf" }

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

> db.users.findOne()  // 查找一条记录(默认最先那条)

{ "_id" : ObjectId("5444b602b0a75fa95741d1dc"), "name" : "lecaf" }

> db.users.findone()  // MongDb的命令区分大小写的

2014-10-20T15:17:59.835+0800 TypeError: Property 'findone' of object local.users

 is not a function

>

> db.users.update({"name":"lecaf"},{"age":"10"})  // 更新记录,前面name是条件,后面age是数据

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.users.find()

{ "_id" : ObjectId("5444b602b0a75fa95741d1dc"), "age" : "10" }

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

> db.users.find().limit(2)  // 查找两条记录

{ "_id" : ObjectId("5444b602b0a75fa95741d1dc"), "age" : "10" }

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

> db.users.find().count(true)   //统计条数

3

 

> db.users.find({"name":"chenhaibo"})  // 按条件查找

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

>

 

> db.users.find({"age" : {$gt: "25"} })  // 查找年龄大于25岁的,个人觉得 命令之间需要空格。。

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

 

> db.users.find({"name" : /^chenhaibo.*/i })  // 模糊查询,查询以“chenhaibo”为开头的,i是不区分行的

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

> db.users.find({"name" : /^chenhaibo0806.*/i })

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

 

> db.users.find().sort({ "name" : -1 })  // -1降序,1升序

{ "_id" : ObjectId("5444b66fb0a75fa95741d1de"), "name" : "chenhaibo0806", "age"

: "27" }

{ "_id" : ObjectId("5444b63cb0a75fa95741d1dd"), "name" : "chenhaibo", "age" : "2

6" }

{ "_id" : ObjectId("5444b602b0a75fa95741d1dc"), "age" : "10" }

>

 

> it   // it 去查看更多记录

{ "_id" : ObjectId("54474015b0a75fa95741d1f4"), "age" : "41" }

{ "_id" : ObjectId("54474018b0a75fa95741d1f5"), "age" : "42" }

{ "_id" : ObjectId("5447401bb0a75fa95741d1f6"), "age" : "43" }

{ "_id" : ObjectId("5447401db0a75fa95741d1f7"), "age" : "44" }

{ "_id" : ObjectId("5447401fb0a75fa95741d1f8"), "age" : "45" }

{ "_id" : ObjectId("54474023b0a75fa95741d1f9"), "age" : "46" }

{ "_id" : ObjectId("54474025b0a75fa95741d1fa"), "age" : "47" }

// 总结:个人觉得MongDb很方便,不需要像Mysql那样麻烦建表字段的,拓展性灵活性较强。

未完待续***********

猜你喜欢

转载自chenhaibo0806999.iteye.com/blog/2146399