mongod学习笔记一
=======================================================
1 下载安装包
http://www.mongodb.org/downloads
2 解压到指定路径E:softwaremongodb 把解压文件中bin目录下的文件放到该文件中
3 建立数据目录data,也可以指定数据目录 bin/mongod.exe --dbpath 目录名
默认的是会存放在c:datadb目录下
--port 指定端口号
--logpath 指定路径输出路径
--config 指定配置文件
4 启动数据库,mongod --dbpath e:softwaremongodbdata
也可以不指定存储目录直接的启动mongod.exe run 默认监听27017端口
会启动一个基本的http服务,监听28017端口
5 停止数据库 ctrl+c
use admin
db.shutdownServer()
通过客户端停止,可以使用客户工具
6 监控
在启动时,指定--rest选项,开启rest支持
==================================================================
---------------------
文档是基本单元 类似于键值对的方式 类似于关系型数据库的行,其格式很像json
集合为没有模工的表,多个文档可以放在集合里
可以用.来取子集合
多个集合组成数据库
保留数据库
admin 相当于root数据库
local 这个数所永运不会被复制
config 用于分片时设置
-------------------启动数据库
mongod --dbpath e:softwaremongodbdata
也可以不指定存储目录直接的启动mongod.exe run 默认监听27017端口
会启动一个基本的http服务,监听28017端口
--------------------mongoDB shell独立的客户端
运行结果如下:
C:Usersadmin>mongo
MongoDB shell version: 2.6.4
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
>
具有完备的javascript,可以运行javascript程序
> x=200
200
> x/5;
40
创建insert
//第一次插入数据时会创建数据库
> db.foo.insert({id:2014,userName:'retacn',age:30,email:'loveyou.for.ever@163.co
m'});
WriteResult({ "nInserted" : 1 })
读取find
> db.foo.find();
{ "_id" : ObjectId("5404038a555b5c21b908aaf5"), "id" : 2014, "userName" : "retac
n", "age" : 30, "email" : "loveyou.for.ever@163.com" }
{ "_id" : ObjectId("540403b2555b5c21b908aaf6"), "id" : 2014, "userName" : "retac
n", "age" : 30, "email" : "loveyou.for.ever@163.com" }
更新update
删除remove
查看帮助信息help
查看数据库级别帮助db.help
集合相关帮助db.foo.help
---------------------有户操作
新建用户
db.addUser("name");
db.addUser("userName",//用户名
"pwd",//密码
true);//只读
数据库验证:
db.auth("userName","123");
显示当前所有用户
show users;
删除用户
db.removeUser("userName");
---------------------数据库操作
切换数据库
> use foo;
switched to db foo
> db
foo
>
查询所有数据库
show dbs;
删除当前数据库
> db.dropDatabase();
{ "dropped" : "foo", "ok" : 1 }
从指定主机上克隆数据库
db.cloneDatabase("127.0.0.1");
从指定机器上复制指定数据库到某个数据库
db.copyDatabase(“mydb”,"temp","127.0.0.1");
修复当前数据库
db.repairDatabase();
查看当前使用的数据库
> db.getName();
retacn
显示当前db状态
db.stats();
查看当前数据库版本
db.version();
查看当前的db链接的机器地址
> db.getMongo();
connection to 127.0.0.1
-------------------------集合操作
创建一个集合
> db.createCollection("table1",{size:20,capped:5,max:100});
{ "ok" : 1 }
查询指定名称的集合
> db.getCollectionName("table1");
2014-09-01T13:51:26.180+0800 TypeError: Property 'getCollectionName' of object r
etacn is not a function
> db.getCollection("table1");
retacn.table1
查询当前db的所有集合
> db.getCollectionNames();
[ "system.indexes", "table1" ]
查询当前db所有集合索引的状态
db.printCollectionStats();
查询当前集合的数据条数
db.集合名.count();
查看数据空间大小:
db.集全名.dataSize();
查看当前集合所在的db
db.集合名.getDB();
集合中添加数据
> db.table1.save({name:'retacn',age:30,sex:'none'});
WriteResult({ "nInserted" : 1 })
集合中数据的查yqj
> db.table1.find();
{ "_id" : ObjectId("54040d59555b5c21b908aaf9"), "name" : "retacn", "age" : 30, "
sex" : "none" }
修改数据
db.table1.update({$set: {name: 'tetacn_yue'},{age:30},{sex:'none'}});
删除数据
db.table1.remove({name:'retacn'});
--------------------------数据类型
null
布尔
32位整数
64位整数
字符串
符号
对象id
日期
正则表达式
代码
二进制数据
最大值
最小值
未定义
数组
内嵌文档
=========================文档的创建,更新,删除