Mondodb

Posted domino-king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mondodb相关的知识,希望对你有一定的参考价值。

工作原因需要使用mongodb数据库,学习一下!!!

  mongodb是一个文档型的数据库,适合做日志储存之类的

  文档document:是mongodb中数据的基本单元,说白了就是一个类似BSON格式存储的,而且每一个文档的大小不能超过16M

  集合collection:集合就是一组文档,多个文档组成一个集合,相当于mysql中的表

     其中集合分为无模式和模式自由:无模式就是同一集合中可以包含不同格式的文档

                    模式自由就是集合里没有行和列的概念

  数据库database:多个集合组成数据库,而且他们之间完全独立,并且无需创建,也就是说Mongodb他不支持连表查询,不能存储复杂的数据

  

以window为例:

  安装:以管理员权限运行cmd,进入到mongodb目录下的bin目录下 ,使用

     mongod --install --dbpath 数据库文件路径(data目录) --logpath 日志文件路径

  

    然后去开启服务即可,然后在通过bin目录下的mongo 进入到mondodb的客户端就可以操作mongodb了

  语句:

    use 数据库名     //选择或创建数据库,数据库存在就会创建数据库

    

    show dbs     //查询创建的数据库

    

    db.users.insert({数据})   //创建集合,users就是集合,相当与Mysql中的表

    

    show tables  //查看数据库里面的集合

    

    db.集合名.find()   //查询集合里面的文档

    db.集合名.insert()  //往集合里面插入文档

    

    db.集合名.drop()   //删除数据库里面的集合

    db.dropDatabase()  //删除数据库

    

增删改查操作

   添加文档

    db.集合名.insert({文档数据}) ,也可以使用js代码批量添加文档,每个文档会自动创建id值

    

  删除文档

    db.集合名.remove({json条件})    //如果不写条件会删除集合中所有的文档

    还有一些操作符,$lt,$lte,$gt,$gte (<,<=,>,>=),$n(<>),$in,$nin,$or,$not,$mod(),$exits,$where等等,不能用符号,只能用$lt形式的条件去操作

    删除集合中name等与fangxiun的文档

    

  修改文档

    db.users.update({条件},{新文档})   //把name为xiaoming的文档修改为name等与king的文档

    修改器:$inc 加一个数字

        $set 修改某一个字段,如果该字段不存在就添加

        把abc的年龄加2

        db.users.update({\'name\':"abc\'},{"$inc":{\'age\':2}})

        或者修改电话,把abc的电话修改成123456

        db.users.update({\'name\':"abc\'},{"$set":{\'tel\':123456}})

  查询操作

    db.集合名.find({条件})    //如果不添加条件就查询所有的数据‘

    比如查询age大于5的文档

    db.集合名.find({},{\'age\':{\'$gt\':5}})等等

    按age升序排序 

    db.集合名,find().sort({age:1});   -1 就是降序排列

    查看文档里面的个数

     db.集合名.count()  或者db.集合名.find().count();

     

 

    

    

 

 

 

  

  

以上是关于Mondodb的主要内容,如果未能解决你的问题,请参考以下文章

mondodb和mysql的区别

Heroku部署后Django(djongo)无法连接到MondoDB Atlas

MongoDB+C#+IQueryable - 有一个字符串数组以及如何在 Where 子句中将其加入 Mongos 集合

????????? MongoDb ??????“???”???

hook orm 加载时间过长

在mongodb中插入python对象