Mongdo的基本操作

来源:互联网 发布:战术无线通信与网络 编辑:程序博客网 时间:2024/06/05 15:20

   从官网下载https://www.mongodb.org/对应的mongodb对应的版本后,在配置好环境变量,在cmd命令行中:mongo -version

          若出现:MongoDB shell version: 3.0.5  表示安装以及配置环境变量成功!


mongdb的默认连接端口是:27017

        netstat -ano | findstr 27017 查看端口号是否存在

        注意:只有当mongod --dbpath=F:\Users\mongdb启动后,端口才能打开


1.基本命令

清屏:cls

  启动mongodb命令:mongo

        查看所有数据库:show dbs

        切换数据库或者创建数据库:use db_nam

        查看该库下面所有的集合:db.getCollectionNames() or show collections

        删除数据库:先切换到该数据库,然后db.dropDatabas();

2.创建集合,非关系型数据库创建集合有2种方式:
              1.显示创建   db.createCollection('集合名称');
              2.隐式创建   db.'集合名称'.insert({});


3.基本的数据操作:
  取集合名称为person,隐式创建。
1.insert:
db.person.insert({"name":"feng", "age", 23})


3.find
db.person.find() or db.person.find({"key":value})


4.update
db.person.update({"name":"feng"},{"name":"fengchao"})


5.remove
db.person.remove({}) or db.person.remove({"name":"fengchao"})


4.mongod常用操作:
查询集合中的文档 ,统计(count)、排序(sort)、分页(skip、limit)
db.customer.count();
db.customer.find().count();
db.customer.find({age:{$lt:5}}).count();
db.customer.find().sort({age:1}); 降序-1
db.customer.find().skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3).count();
db.customer.find().sort({age:-1}).skip(2).limit(3).count(0);
db.customer.find().sort({age:-1}).skip(2).limit(3).count(1);


查询集合中的文档 ,$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回
查询集合中的文档 ,$in,类似于关系型数据库中的IN
查询集合中的文档 ,$nin,与$in相反
查询集合中的文档 ,$or,相当于关系型数据库中的OR,表示或者的关系,例如查询name为user2或者age为3的文


档,命令为:
     db.customer.find({$or:[{name:”user2”},{age:3}]})
查询集合中的文档 ,$nor,表示根据条件过滤掉某些数据,例如查询name不是user2,age不是3的文档,命令为:
     db.customer.find({$nor:[{name:”user2”},{age:3}]})


5.mongod的游标概念:
   MongoDB中find()函数返回一个游标,客户端通过对游标进行一些设置就能对查询结果进行有效地控制,
   如可以限制查询得到的结果数量、跳过部分结果、或对结果集按任意键进行排序等!
   游标中有2个重要的方法:
         hashNext() 将游标的光标往下移一位
next()方法 返回该光标所爱的结果
   这样就会真正访问数据库,这是一个懒加载的过程。
 这里有3个函数可以在处理游标时使用:limit、skip、sort。
limit:限制游标返回结果的次数 db.person.find().limit(3)
skip:跳过游标移动的次数 db.person.find().skip(2).limit(3)
sort:对子集合进行排序 db.person.find().sort({"name":1}).limit(5); 大于0的数字表示升序,小于0的数字表示降序。


6.关于mongdo的跟新操作:
   更新集合中的文档, $set 用来指定一个键的值,如果这个键不存在,则创建它。
   db.person.update({"name":"fengchao"},{$set:{"age":20}},0,1)
第一个参数:查找的条件
第二个参数:修改的值
第三个参数:1表示若该值没有,则添加。 0表示该值没有则不添加
第四个参数:0表示只是修改一条数据,1表示修改所有查找到的数据


其他操作:例如$unset删除键值对 db.person.update({"name":"laoxu"},{$unset:{"age":-1}},0,1)



推荐一个很好的学校mongodb的网站:http://www.yiibai.com/mongodb/mongodb_indexing.html

0 0
原创粉丝点击