Mongodb基本操作
mongodb维护常用命令:
1.监控:
bin/mongostat 查看mongodb运行状态
bin/mongotop 查看mongodb具体每个操作花费的时间
2.备份与恢复
>mongodump -h dbhost -d dbname -o dbdirectory 备份
>mongorestore -h <hostname><:port> -d dbname <path> 恢复
3.启动
./mongod --dbpath=/data/mongo/db --fork --port 11111 --logpath=/data/mongo/logs/work.log --logappend --replSet qsbtest
./mongod --dbpath=/data/mongo/db2 --fork --port 22222 --logpath=/data/mongo/logs2/work.log --logappend --replSet qsbtest
./mongod --dbpath=/data/mongo/db3 --fork --port 33333 --logpath=/data/mongo/logs3/work.log --logappend --replSet qsbtest
4.MongoDB CRUD
插入:
db.user.insert({"id":"1","name":"TEST","address":{"id","1","city":"BEIJING"}}) user文档嵌套address文档
db.user.insert({"id":"1","name":"TEST","address_id":"Object(123456789)"}) 手动引用address的id
db.user.insert({"id":"1","name":"TEST","address_id":{"$ref":"address","$id":"Object(123456789)","$db":"dbName"}}) 数据库变量引用
$ref:集合名称 $id:引用的id $db:数据库名称,可选参数
一对多:
db.user.insert({"id":"1","name":"TEST","address_ids":["Object(123456789)","Object(987654321)"]})
db.user.insert({"id":"1","name":"TEST","address_ids":[{"$ref":"address","$id":"Object(123456789)","$db":"dbName"},{"$ref":"address","$id":"Object(123456789)","$db":"dbName"}]})
修改:
db.user.update({"name","TEST"},{"name":1,id:0}) 查询条件,显示的字段
删除文档:
db.user.delete{{"name":"TEST"}} 删除的条件
删除数据库:
use database;
db.dropDatabase();
删除user集合:
db.user.drop();
查询:
db.user.find({},{}) 条件,显示的字段。 1为显示 0为不显示
聚合查询:
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
相当于:select by_user, count(*) from mycol group by by_user
创建索引:
db.users.ensureIndex({gender:1,user_name:1})
MongoDB支持许多数据类型的列表下面给出:
String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
Boolean : 此类型用于存储一个布尔值 (true/ false) 。
Double : 这种类型是用来存储浮点值。
Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
Arrays : 使用此类型的数组或列表或多个值存储到一个键。
Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
Object : 此数据类型用于嵌入式的文件。
Null : 这种类型是用来存储一个Null值。
Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
Object ID : 此数据类型用于存储文档的ID。
Binary data : 此数据类型用于存储二进制数据。
Code : 此数据类型用于存储到文档中的JavaScript代码。
Regular expression : 此数据类型用于存储正则表达式