mongoDB 安装 和简单命令
mongo官网 下载地址 http://www.mongodb.org/downloads
vue工具 下载 http://www.mongovue.com/downloads/
建一个文件夹,放解压后的mongo文件,在新建一个放 指定数据库
做一个变量,指定bin
下面文件夹和路径可以自定义
mongod --dbpath d:\installSoft\mongoDbDATA
mongo 127.0.0.1:27017/admin
下面是简单命令
下载mongodb 指定路径data mongod --dbpath e:\mongoDB\mongoDbDATA mongo 127.0.0.1:27017/admin use dbname --新建数据库 db.dropDatabase() --删除 show dbs --显示 show collections --显示集合 db.persons.insert({name:"hello"}) --插入数据 db.persons.find() db.persons.update({name:"hello"},{$set:{name:"newh"}}) var p=db.persons.findOne() p db.persons.update(p,{name:"updateV"}) db.persons.update({name:"updateV"},{$set:{age:1,name:"newV"}}) db.persons.remove({age:1}) --删除数据 db.persons.drop() --删除 persons db.help() function insertxx(obj){ db.getCollection("dbName").text.insert(obj) } insertxx({name:"hello"}) db.getCollection("dbName").find() db.eval("return 'mongodb'") for(var i=0;i<10;i++){ db.pp.insert({name:i}) } db.pp.insert({_id:"重复"}) --报错 db.pp.save({_id:"重复"}) --更新 db.pp.remove() --集合删除 索引不会删除 db.system.indexes.find() db.pp.remove({_id:1}) --条件删除 db.docName.update({查询器},{修改器}) insertOrUpdate --默认false db.docName.update({查询器},{修改器},true) --批量更新 false更新不保存,true批量(默认只更新第一条数据) db.pp.update({name:"hello"},{$set:{name:"helloWrold"}},false,true) $set $inc -- 追加 数字 $unset --去掉指定健 $push --汪加数组 db.test.update({_id:1},{$push:{books:["01","02","03"]}}) db.test.update({_id:1},{$pushAll:{books:["01","02","03"]}}) $addToSet --如果数组中没才添加 db.test.update({_id:1},{addToSet{books:"hellos"}}) $pop -1删除第一个值 1 删除最后一个值 1 $pull --删除一个被指定的数值 $pullAll db.test.update({_id:1},{$pullAll:{books:["aa","bb"]}}) $.在数组对像中修改 db.test.update({"books.type":"db"},{$set:{"books.$.author":"liangrui"}}) --把有的不加入,没有的加入 db.test.update({_id:2},{$addToSet:{books:{$each:["js","db"]}}}) --runCommand 只能修改一条娄据 new 返回 pp是更新前的还是更新后的 ps=db.runCommand({ "findAndModify":"test", "query":{"name":"hello"}, "update":{"$set":{"age":"wwww"}}, "new":true }) ps.value db.rui.find({},{_id:0,name:1})-- 查询指定列 {条件}{显示} 0不显示 m 在>25 <30之间的数() db.rui.find({m:{$gte:25,$lte:30}},{_id:0,name:1}) --不等于 db.rui.find({name:{$ne:"hello"}},{}) --in 在 db.rui.find({name:{$in:["hello"]}},{}) --nin 不在 db.rui.find({name:{$nin:["hello"]}},{}) --or c大于20 或者m大于30的数据 db.rui.find({$or:[{c:{$gt:20}},{m:{$gt:30}}]},{}) --查询为null db.rui.find({sex:{$in:[null]}},{_id:0,name:1,sex:2}) --正则查询 db.rui.find({name:/ji/i},{_id:0,name:1}) --取返 db.rui.find({name:{$not:/ji/i}},{_id:0,name:1}) --喜欢js 和java书的学生 db.rui.find({books:{$all:["js","java"]}},{books:1,_id:0,name:2}) --查询第二本是c++的学生 db.rui.find({"books.1":"c++"},{books:1,_id:0,name:2}) --查询指定长度数组$size 它不能与比较查询符一起使用 查询 出喜欢 的书 数量是4本的学生 db.rui.find({books:{$size:3}}) --查询出喜欢的书箱数量大于2本的学生 db.rui.update({},{$set:{size:3}},false,true) db.rui.find() --第次加减书的时候 更新size db.rui.update({},{$set:{size:3}},false,true) db.rui.update({name:"jim"},{$push:{books:"c"},$inc:{size:1}}) --书本==5的 db.rui.find({size:4}) --查询jim喜欢书的数量 var jim=db.rui.find({name:"jim"}) while(jim.hasNext()){ obj=jim.next(); print(obj.books.length) } shell 是个js的引擎 要用驱动包 $slice 指定数组的内部值 db.rui.find({name:"jim"},{books:{$slice:[1,3]},_id:0}) -1 最后一本书 db.rui.find({name:"jim"},{books:{$slice:-1},_id:0}) --文档查询 var jim=[ { school:"k", score:"a" }, { school:"l", score:"b" } , { school:"j", score:"p+" } ] db.rui.update({name:"jim"},{$set:{school:jim}}) --必须顺序一样,全部指定 db.rui.find({school:{school:"k",score:"a"}},{_id:0}) --优化 db.rui.find({"school.score":"a","school.school":"k"},{_id:0,school:1}) --$elemMatch解决顺序的问题 和 遍历 全部对象查询 db.rui.find({school:{$elemMatch:{school:"k"}}},{_id:0,school:1}) $where 查询age大于22,喜欢c++ 在k学校上过的学生 db.rui.find({"$where":function(){ //得到查询结果的每一条文档 var books=this.books; //得到文档中的school对象 var school=this.school; //如果年纪>=22 if(this.age>22){ var cjj=null; //遍历数据 for(var i=0;i<books.length;i++){ if(books[i]=="c++"){ cjj=books[i]; //如果学校是真 if(school){ for(var j=0;j<school.length;j++){ //是不是在k学校上学 if(school[j].school=="k"){ //返回真 return true; } } break; } } } } }}) ---分页 db.rui.find({},{_id:0,name:1}).limit(5) db.rui.find({},{_id:0,name:1}).limit(5).skip(5) db.rui.find({},{_id:0,name:1,age:2}).limit(5).skip(5).sort({age:1}) db.rui.find({},{_id:0,name:1,age:2}).limit(5).skip(5).sort({name:-1})
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。