mongo安装使用

来源:互联网 发布:广州金针软件 编辑:程序博客网 时间:2024/05/29 16:25
安装
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz 
mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb       
MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
export PATH=/usr/local/mongodb/bin:$PATH
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
mkdir -p /data/db
命令行中运行 MongoDB 服务
./mongod


MongoDB后台管理 Shell
./mongo


插入数据并查询
>  db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("58e4c76b181c3005c84d5d55"), "x" : 10 }


显示所有数据库
show dbs;


连接指定数据库
use local


文档
文档是一个键值(key-value)对(即BSON)。


文档键命名规范:
键不能含有\0 (空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特定环境下才能使用。
以下划线"_"开头的键是保留的(不是严格要求的)。


capped collections
Capped collections 就是固定大小的collection。
它有很高的性能以及队列过期的特性(过期按照插入的顺序). 有点和 "RRD" 概念类似。
Capped collections是高性能自动的维护对象的插入顺序。它非常适合类似记录日志的功能 和标准的collection不同,你必须要显式的创建一个capped collection, 指定一个collection的大小,单位是字节。collection的数据存储空间值提前分配的。
要注意的是指定的存储大小包含了数据库的头信息。
db.createCollection("mycoll", {capped:true, size:100000})








元数据
数据库的信息是存储在集合中。它们使用了系统的命名空间:
dbname.system.*
MongoDB数据库中名字空间 <dbname>.system.* 是包含多种系统信息的特殊集合(Collection),如下:
集合命名空间 描述
dbname.system.namespaces 列出所有名字空间。
dbname.system.indexes 列出所有索引。
dbname.system.profile 包含数据库概要(profile)信息。
dbname.system.users 列出所有可访问数据库的用户。
dbname.local.sources 包含复制对端(slave)的服务器信息和状态。


MongoDB 数据类型
下表为MongoDB中常用的几种数据类型。
数据类型 描述
String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。用于存储布尔值(真/假)。
Double 双精度浮点值。用于存储浮点值。
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Arrays 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳。记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID 对象 ID。用于创建文档的 ID。
Binary Data 二进制数据。用于存储二进制数据。
Code 代码类型。用于在文档中存储 JavaScript 代码。
Regular expression 正则表达式类型。用于存储正则表达式。






标准 URI 连接语法:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb://10.173.58.161:27020
mongodb://127.0.0.1:27017


通过 shell 连接 MongoDB 服务:
$ ./mongo


使用用户名和密码连接到 MongoDB 服务器,你必须使用 'username:password@hostname/dbname' 格式,'username'为用户名,'password' 为密码。
使用用户名和密码连接登陆到默认数据库:
$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上。输出结果如下所示:
> mongodb://admin:123456@localhost/


使用用户名fred,密码foobar登录localhost的admin数据库。
mongodb://fred:foobar@localhost


mongodb 导出数据:
 ./mongodump -h 127.0.0.1 --port 27019 -d qctrl_test2 -o ./qctrl_test2.sql
 
 mongodb导入数据
 ./mongorestore -h 127.0.0.1 --port 27017 -d qctrl_test2 ./qctrl_test2.sql/qctrl/


 集合查询:
 db.user.find()
db.getName()  ---显示当前使用的数据库名称
db   ---显示当前使用的数据库名称
db.dropDatabase()  --删当前使用的数据库
db.version()   --当前数据库版本
db.getMongo()  --查看当前数据库的链接机器地址
db.stats() 显示当前数据库状态,包含数据库名称,集合个数,当前数据库大小 ...
db.person.drop()  --删除当前集合(表)person






增删改查:
db.c1.insert({name:"user1"});
db.c1.save({_id:1, name:"user1"}); //save()如果已经存在就不会插入,如果不存在就插入


db.c1.remove();
db.c1.remove({name:"user1"});




 db.orders.update(                            
   {"onumber" : "001"},  
   { $set: { "cname " : "zcy"} },