设为首页 加入收藏

TOP

MongoDB数据库基础知识(一)
2015-11-21 01:26:17 来源: 作者: 【 】 浏览:2
Tags:MongoDB 数据库 基础知识

1.简介:

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2.特点:

它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
面向集合存储,易存储对象类型的数据。
模式自由,支持动态查询,支持完全索引,包含内部对象。支持查询。支持复制和故障恢复。使用高效的二进制数据存储,包括大型对象(如视频等)。自动处理碎片,以支持云计算层次的扩展性。支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。文件存储格式为BSON(一种JSON的扩展)。可通过网络访问。
具体介绍可以查看百度百科:
http://baike.baidu.com/subview/3385614/9338179.htm#viewPageContent

3.使用:

(1)安装:下载地址:https://www.mongodb.org/downloads,下载适合自己的开发环境的压缩包,加压后直接安装就可以了,很简单;
(2)创建仓库、日志、新建服务:在安装目录下创建两个文件夹db、log;在cmd中输入以下命令创建仓库、日志、新建服务:
mongod -dbpath “D:\study soft\MongoDB\db” -logpath “D:\study soft\MongoDB\log\mongodb.log” -install -serviceName “MongoDB”
(3)使用mongoVUE工具:
下载安装(不做介绍了)后,要创建连接,一般只需要写Name(连接名)和Server(地址:localhost或127.0.0.1)就好了:
创建连接
创建好后如图:
这里写图片描述

(4)基本命令:
—–创建集合:
db.createCollection(“集合名”);
—– 删除集合:
db.集合名.drZ??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcCgpOzxiciAvPg0KJm1kYXNoOyZuZGFzaDsgx9C7u7yvus+jujxiciAvPg0KdXNlILyvus/D+6O7PGJyIC8+DQombWRhc2g7Jm5kYXNoOyDM7bzTvMfCvKO6PGJyIC8+DQpkYi68r7rPw/suaW5zZXJ0KHsmbGRxdW87X2lkJnJkcXVvOzoxMDAxLCZyZHF1bztuYW1lJnJkcXVvOzomcmRxdW87eXl5JnJkcXVvOywmcmRxdW87c2V4JnJkcXVvOzomcmRxdW87RiZyZHF1bzt9KTs8YnIgLz4NCiZtZGFzaDsmbmRhc2g7z/K8r7rP1tDM7bzTtuDM9bzHwrw8YnIgLz4NCmRiLryvus/D+y5pbnNlcnQoW3smbGRxdW87X2lkJnJkcXVvOzoxMDAzLCZyZHF1bztuYW1lJnJkcXVvOzomcmRxdW87zOxzc8zsJnJkcXVvOywmcmRxdW87c2V4JnJkcXVvOzomcmRxdW87xNAmcmRxdW87faOseyZsZHF1bztfaWQmcmRxdW87OjEwMDQsJnJkcXVvO25hbWUmcmRxdW87OiZyZHF1bzt0dCZyZHF1bzssJnJkcXVvO3NleCZyZHF1bzs6JnJkcXVvO8TQJnJkcXVvO31dKTs8YnIgLz4NCiZtZGFzaDsmbmRhc2g7ILLpv7S8r7rP1tC1xMr9vt2jujwvcD4NCjxwcmUgY2xhc3M9"brush:sql;"> db.集合名.find() db.集合名.findOne() db.集合名.find({"_id":1001}) ---where key=val db.集合名.find({"_id":{"gt":1001}}) ---where key>val db.集合名.find({"_id":{"$lte":1001}}) ---where key<=val db.集合名.find({"_id":{"$ne":1001}}) ---where key!=val

—- $in 在…..中

 db.集合名 .find({"_id":{"$in":[1001,1002,1003]}})

—- $or 或

 db.集合名.find({"$or":[{"_id":1001},{"name":"haha"}]})

—-$and and or 并且….或…..(性别为男 并且 id为1009 或者姓名为 yc)

 db.zy.find({"sex":"男","$or":[{"_id":1009},{"name":"yc"}]})

—– 如果存在则修改,不存在则添加
db.集合名.save({“_id”:1003,”name”:”haha”});
—– 修改
db.集合名.update({条件},{要修改的数据});

—— 修改器
$inc 增加对应的值

 db.zy.insert({"_id":1004,"url":"www.baidu.com","pageViews":1}); db.zy.update({"_id":1004},{"$inc":{"pageViews":1}}); --将id为1004的文档中的pageViews键的值增加1

$set 修改对应的值

 db.zy.update({"_id":1002},{"name":"明明","sex":"女"}) db.zy.update({"_id":1002},{"$set":{"name":"明明","sex":"男"}})

—- 将company变成一个数组

 db.zy.insert({"_id":1005,"company":"yc","url":"www.baidu.com","pageViews":1}); db.zy.update({"_id":1005},{"$set":{"company":["yc","zy","nh"]}})

—删除键:

 db.zy.update({"_id":1005},{"$unset":{"company":1}})

—数组修改器:
$push 向数组中添加值,可能会出现重复的值

 db.zy.update({"_id":1005},{"$push":{"company":"hhh"}})

$each 循环添加

 db.zy.update({"_id":1005},{"$push":{"company":{"$each":["aa","bb","cc"]}}})

$slice 指定最大的长度,它的值必须是负数,表示保留最后的n个值

 db.zy.update({"_id":1005},{"$push":{"company":{"$each":["aa1","bb2
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇OracleEBSMRP模块之预测冲减 下一篇MySQL双主配置

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: