Mongodb初步了解

一、基本概念

mongodb是最接近关系型数据库的非关系型数据库

支持的数据结构是类似json的bjson格式

面向集合的 模式自由的 文档型数据库


和关系型数据库的对比:

数据库  →  db
集合    →  table
文档    →  record

mongodb最主要不是要解决高并发带来的问题,
而是保证在大数据量存储的同时,查询效率的流畅

mongodb是一个可移植的数据库,在流行的平台上都可以使用,

即,跨平台特性




二、启动与停止

启动:

进程服务:mongod

mongod -dbpath  -p   
默认存储路径是:data /
默认端口:27017


-log  日志功能
-logappend



mongod  -f  以配置文件的方式启动

关于mongodb以配置文件的方式启动,还用有专门的文章来贴出来。。。


停止:

crtl+c (命令行中的停止)

shudownServer()

kill -2 PID 或者 kill -15 PID ( kill -9 PID 不可以 )  (linux系统中)



三、管理工具

mongoVUE

rockmongo

monghub

自带的管理工具 mongo shell,本身是js shell
所以识别js代码


四、简单命令

启动mongod实例进程后,输入mongo 即可进入:

默认进入的数据库是test

注意:数据库以及数据表事先不用建立,插入数据后,
则自动建立相应的数据表和数据库

对于mongodb中存储的内容,是以一种 BSON 的形式 键/值对 存储的,
键必须是字符串类型的,值可以是其支持的任意类型


db 是当前数据库的连接,
输入db ,显示当前连接的数据库名字

查看帮助 : db.help()

db.foo.help()

建立数据库

use db1
然后建立表,并插入数据,这样就相当于建立了一个数据库

删除数据库
use db1
db.dropDatabase();



建立数据表

db.foo.insert({'uid':123});

这样就相当于建立数据表,并插入了一条记录

db.createCollection('foo');


删除表

db.foo.drop();



插入数据

db.foo.insert({'uid':123,'username':'sss'});
db.foo.save({'uid':123,'username':'sss'});

插入文档时,自动生成的键'_id',默认类型是ObjectId类型
Insertsave的区别:如果插入的文档的_id值,集合中已经存在,用insert执行插入会报异常;用save,如果系统中没有相同的_id,就执行插入操作,有的话,就修改




删除数据

db.foo.remove();
删除所有

db.foo.remove({'uid':123})
删除uid=123的记录





五、查询


db.foo.findOne();
查询单条记录

db.foo.find({},{})

第一个参数:条件文档
第二个参数:返回值文档

db.foo.find({'uid':123},{'uid':true});

db.foo.find({'uid':123},{'uid':1})



六、更新

db.foo.update({},{},args1,args2)

1,条件文档
2,修改器文档
3,upsert  (表示,如果有的话,则更新,没有的话,就插入;   默认 false )
4,multi   (mongodb默认只更新匹配的第一条数据,此参数为真时,表示更新全部;  默认false)

一般都是 db.foo.update({},{},0,1)



这是凭着自己的理解写下来的,有很多不足之处,后续还会补充添加。。。

本文并不是详细介绍mongodb概念的文章,只是把一些基本特性以及语法特点记录下来,以备查看。。。

原文地址:https://www.cnblogs.com/fanfan259/p/2971469.html