目录
首先你就把mg当成一个数据库,他可以储存很多数据一个容器,不用把他和传统的关系型数据库对立起来,或者你可以将所有结构化,半结构化,非结构化的数据库都可以当成是储存数据的容器,只是他们各有优势, 侧重点不一样,所以他们也并不神秘,尤其不要被一系列的概念:nosql,newsql,这类名词吓到,
mg的特点
没有事务概念,没有表结构的概念,安全,没有join概念,ps:你就暂时当它是个一个升级版本的excel,
mg的目录结构
bin—-
data—数据存储文件夹
conf—配置文件夹 —
mg.conf : port:12345 dbpath:data logpath:log/mg.log fork:true(后天运行)
log—–日志文件夹
crud
1.先链接mg: 127.0.0.1:12345
—————— ip port 集合名字
2.查看所有的数据库—-
—————- show dbs 出现 test1 test2
3.选择一个 use test1
4. .查看所有的集合—-相当于表
—————- show collections 出现 col_1 col_2
5. 查询一个表中的数据
——————db.col_1.find();
6.插入数据:首先mg中的数据格式就是 json格式,
———-db.col_1.insert({x:1}); .insert({x:1,y:2,z:8})
同时它支持 js的语法
for(int i =0;i<5;i++)
db.col_1.insert({x:i});
7. 计数
——— db.col_1.find().count();
8.更新: .update({x:1},{x:99}) 就是 将 x=1的数据更新为 x=99,并且它只会更新找的结果集中的 第一条,如果需要将x=1的结果集全都更新:
. update.({x:1},{$set:{x:99}, false,true })
9.删除: 默认会删除找到的所有的结果集;
remove({x:2})
索引
- 创建索引
ensureIndex({x:1}) x是字段名, 1 是方向 可以是-1 - 全文索引
ensureIndex({“title”:“text”}) title 是字段名。
查询方法:
find({ $text:
----- { $search: "aa -cc " } }) 包含aa,但不包含cc
find({ $text:
{ $search: " \“aa \” \“bb\” " } })
同时包含aa 和bb