标签:
前段时间工作上面由于没有多少事所以玩了玩mongodb,学习了它的基本语法,然后现在在这里做一个简单的总结。
1.我是在win平台上面,启动的话比较麻烦,所以我就简单的把启动过程做了个批处理文件
启动脚本
:启动mongodb的批处理文件,到mongodb的bin目录下面 D: cd "Program Files" cd MongoDB\Server\3.2\bin :其中D盘下面的data,db目录是自己手动创建的 :启动带有的参数 --auth(开启用户访问权限) :--dbpath(数据存储路径) mongod.exe --auth --dbpath D:\data\db
2.一些简单基本语法
#创建或者切换数据库 use admin #查询方法 db.system.users.find() #格式化的查询结果 db.userinfo.find().pretty() 查询比较符 等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = ‘菜鸟教程‘ 小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50 小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50 大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50 大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50 不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50 #查询年纪大于等于25的信息 db.userinfo.find({"age":{$gte:25}}).pretty() #查询age字段是String类型的记录。显示的结果集(默认显示_id字段)只有user_name和age这两个字段。 db.userinfo.find({"age":{$type:2}},{_id:0, "user_name":1, "age":1}) #删除用户 db.dropUser(‘root‘) #创建新的用户 db.createUser({‘user‘:‘root‘, ‘pwd‘:‘000000‘,‘roles‘:[{‘role‘:‘readWrite‘, ‘db‘:‘mytest‘}, {‘role‘:‘readWrite‘, ‘db‘:‘admin‘}]}) #mongodb创建集合对象 db.XXX:表示如果XXX存在则往这里直接插入数据,如不存在,则创建对应的集合 #插入数据 db.COLLECTION_NAME.insert(document) db.userinfo.insert([{user_name:‘1‘, age:10, sex:1},{user_name:‘2‘, age:10, sex:0}]) #mongodb更新语句更新单条语句 如果 $set字段不存在,若键不存在,会新建 db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$set:{"item_name":"test_update", "test":"test_add"}}) $unset关键字,删除对应的key值 去除【item_name】、【test】这两个key db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$unset:{"item_name":"test_update", "test":"test_add"}}) #mongodb更新语句更新多条语句 db.userinfo.updateMany({"user_name":"1"}, {$set:{"user_name":"nie"}}) #更新age字段<= 20的字段为wewe值 db.userinfo.updateMany({"age":{$lte:20}}, {$set:{"age":"wewe"}}) #mongodb删除语句 db.userinfo.remove({"user_name":"2"}) 删除所有数据 db.userinfo.remove({}) #type $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。 // 查询age字段是string类型的所有记录 db.userinfo.find({"age":{$type:2}})
#删除 db.item_info.deleteOne({"item_name":"update_item_name"}) db.item_info.find({"item_name":"update_item_name"}).count() DeleteResult delete = item.deleteMany(Filters.eq("item_name", "update_item_name")); System.out.println(delete.getDeletedCount()); #mongodb语句explain > db.item_info.find({}).explain() { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.item_info", "indexFilterSet" : false, "parsedQuery" : { "$and" : [ ] }, "winningPlan" : { "stage" : "COLLSCAN", "filter" : { "$and" : [ ] }, "direction" : "forward" }, "rejectedPlans" : [ ] }, "serverInfo" : { "host" : "Lenovo-niejian", "port" : 27017, "version" : "3.2.8", "gitVersion" : "ed70e33130c977bda0024c125b56d159573dbaf0" }, "ok" : 1 } #mongodb语句like(正则表达式) 如果检索需要不区分大小写,我们可以设置 $options 为 $i。 以下命令将查找不区分大小写的字符串 w3cschool.cc db.posts.find({post_text:{$regex:"w3cschool.cc",$options:"$i"}}) db.item_info.find({"item_id":{$regex: /c9aea5ea/}})
标签:
原文地址:http://www.cnblogs.com/KevinStark/p/5800642.html