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
日期
正则表达式
代码
二进制数据
最大值
最小值
未定义
数组
内嵌文档






=========================文档的创建,更新,删除

























































原文地址:https://www.cnblogs.com/retacn-yue/p/6194258.html