mongodb-1

database,collection,document,field,index,primary key(_id)
show dbs; db; use dbName(切换且创建); db.dropDatabase();db.createCollection(name,option);往不存在collection插入document会自动创建collection
db.colName(当前数据库的colName集合下操作): find,insert,save(不指定_id就是insert,指定可能变成更新了),remove(根据查询条件删,{}为全删,可指定只删1条),skip,sort(),limit,drop,update(查询json,更新json,是否upsert,是否multi)

db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
db.col.find({"title" : {$type : 2}})或db.col.find({"title" : {$type : 'string'}})   //类型:Double为1,string为2
db.col.find().sort({"likes":-1}) //-1降序,1升序,
db.col.createIndex({"title":1,"description":-1}, {background: true}) //ensureIndex和createIndex一样,索引存储在内存
dropIndex("索引名称") dropIndexes() totalIndexSize() getIndexes()
mongostat mongotop
mongodump -h <hostname><:port> -d dbname -o dbdirectory和 mongorestore -h <hostname><:port> -d dbname <path> //备份和恢复数据
db.mycol.aggregate({$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}) //按by_user列分组,统计每组的数量,_id指明进行分组的列

mongodb 有副本和分片的概念,单个实例启动需指定自己所在的副本集(–replSet rs0),客户端连接任一实例进行rs.initiate()然后rs.add()或直接rs.initiate(带各节点地址),rs.conf(),rs.status() ,
副本:任何节点都可为主(选举),写入在主,自动故障转移和恢复
分片: mongos启动路由进程(需指定config server),客户端连接路由进程进行分片配置和访问
嵌入和引用(1对多)

{
   "_id":ObjectId("52ffc33cd85242f436000001"),

   "address": [
      {
         "building": "22 A, Indiana Apt"
      },
      {
         "building": "170 A, Acropolis Apt"
      }]
} //嵌入
    {
   "_id":ObjectId("52ffc33cd85242f436000001"),
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000"),
      ObjectId("52ffc4a5d85242602e000001")
   ]
}  //引用

创建集合给定capped选项(固定大小,超出覆盖最初文档,size(必须)指定大小,单位KB,max(可选)指定文档个数上限),固定集合按插入顺序排序,且不允许删除
MongoDB要实现自增需自己编程

db.posts.find({post_text:{$regex:"runoob"}})
db.posts.ensureIndex({post_text:"text"})   db.posts.find({$text:{$search:"runoob"}}) //全文检索
mongofiles.exe -d gridfs put song.mp3 存放文件在gridfs数据库,使用fs.files和fs.chunks集合存放

在一个集合里面,每个文档都有唯一的"_id"值,可为任意类型,若不指定则给ObjectId
索引数组字段即为数组每个Index位置都建立一个索引,索引子文档字段

db.users.find({gender:"M"},{user_name:1}).hint({gender:1,user_name:1}) //hint强制用某个索引

覆盖索引查询:只用内存中的索引而不用去查找文档即可完成查询,需查询字段和返回字段都在索引中
$ref (集合) , $id , $db
MongoDB mapReduce:先query,后map(分解),后reduce(合并结果),每个工作单元得到1个key-value,相同key放一起得到若干key-values,对单个key-values进行最终处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值