MongoDB_CRUD

写完这篇博客我发现这个博客网站的排版是最差的完全不支持md文档还没有代码块模式

列出所有数据库

不知大家还记得不记得关系型数据库的创建方法:create database  数据库名称

不过不管是关系型还是非关系型大体操作还是crud和权限一类的

如果大家在数据库的学习中遇到了报错,一定要联想自己学习的第一个数据库,我是学的MySQL,所以会联想一下这个数据库

show databases/show dbs

创建用户

db.createUser({"user":"用户名","pwd":"密码", roles:["权限"]})

账号密码登录

db.auth("用户名","密码")

创建数据库

不知大家还记得不记得关系型数据库的创建方法:

create database  数据库名称

不过不管是关系型还是非关系型大体操作还是crud和权限一类的

如果大家在数据库的学习中遇到了报错,一定要联想自己学习的第一个数据库,我是学的MySQL,所以会联想一下这个数据库

使用  use 数据库名  指令若数据库不存在则自动创建

修改密码

db.changeUserPassword("用户名","新的密码")

插入文档

db.集合名称.insert(文档)

列出所有的集合

show collections

创建集合

db.createCollection("name", "option")

删除集合

db.集合名.drop()

插入文档

db.stu.insert({name:"张三", age:"28", gender:true})

dict_data = {

    "_id" : 1,

    name: "王五",

    age: 55,

    gender:true

}

db.stu.insert(dict_data)

删除文档

删除集合中指定文档

db.stu.remove({name:"张三"})

删除集合中所有文档

db.集合名称.remove({})

修改文档

db.collection_name.update({select_conditional}, {$set:select_content})默认只修改符合条件第一条数据

db.collection_name.update({select_conditional}, {$set : select_content}, {mutil : true})全部修改

在newdb集合中创建文档

use newdb

switched to db newdb

> db.stu.insert({_id:1,name:"Janny",age:28,gender:true})

> db.stu.insert({_id:2,name:"Danny",age:8,gender:true})

> db.stu.insert({_id:3,name:"Jack",age:38,gender:true})

> db.stu.insert({_id:4,name:"Linus",age:18,gender:false})

> db.stu.insert({_id:5,name:"Jhon",age:18,gender:false})

> db.stu.insert({_id:6,name:"Mark",age:21,gender:true})

> db.stu.insert({_id:7,name:"Aorton",age:26,gender:false})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"Danny","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":26,"gender":false}

修改id为2的名字为cccc

> db.stu.update({_id:2},{$set:{name:"cccccccccccc"}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":26,"gender":false}

修改名字Aorton的年龄为15

> db.stu.update({name:"Aorton"},{$set:{age:15}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

修改gender:TRUE字段的年龄

默认只修改符合条件的第一条数据

db.stu.update({gender:true},{$set:{age:66}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":66,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

将gender:TRUE字段年龄全部修改

添加属性{multi:true}

db.stu.update({gender:true},{$set:{age:66}},{multi:true})

WriteResult({"nMatched":4,"nUpserted":0,"nModified":3})

> db.stu.find()

{"_id":1,"name":"Janny","age":66,"gender":true}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

将id为1的gender字段删除

添加{$unset:{gender:""}}属性

db.stu.update({_id:1},{$unset:{gender:""}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

查询文档

查询全部

db.collection_name.find() 查询全部数据

db.collection_name.findOne(conditional)  查询符合条件的第一条数据

db.collection_name.find(coonditional) 查询符合条件的全部数据

> use newdb

switched to db newdb

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu,find({gender:false})

2021-03-04T17:13:17.099+0800E QUERY    [js] ReferenceError: findisnotdefined :

@(shell):1:8

> db.stu.find({gender:false})

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu.findOne({gender:true})

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

比较运算符

$lt -->less than

$lte -->less than equal

$gt -->greater than

$gte -->greater than equal

$ne -->not equal

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu.find({age:{$gt:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":6,"name":"Mark","age":66,"gender":true}

>

> db.stu.find({age:{$lt:38}})

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":7,"name":"Aorton","age":15,"gender":false}

>

>

> db.stu.find({age:{$gte:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

>

>

> db.stu.find({age:{$ne:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

逻辑运算

and且的关系

默认就是且的关系(两者都有)

db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":2,"name":"Danny","age":8,"gender":true,"like":"猫"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"鸡"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"鸡"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"猫"}

> db.stu.find({age:{$gt:18},gender:true})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"鸡"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"鸡"}

>

>

> db.stu.find({$and:[{age:{$gt:18}},{gender:true}]})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"鸡"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"鸡"}

or或者的关系

> db.stu.find({$or:[{gender:false},{age:{$lt:30}}]})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":2,"name":"Danny","age":8,"gender":true,"like":"猫"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"鸡"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"猫"}

混合使用

查找年龄小于28或者喜欢老鼠。gender:false

> db.stu.find({$and:[{$or:[{age:{$lt:28}},{like:"老鼠"}]},{gender:false}]})

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"猫"}

范围运算

$in Operator

> db.stu.find({age:{$in:[38,18,21]}})

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"鸡"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"鸡"}

正则表达式

$regex Operator

> db.stu.find({name:{$regex:"^L"}})

{ "_id" : 4, "name" : "Linus", "age" : 18, "gender" : false, "like" : "老鼠" }

>

> db.stu.find({name:/L/})

{ "_id" : 4, "name" : "Linus", "age" : 18, "gender" : false, "like" : "老鼠" }

调用JS代码

> db.stu.find({

... $where:function () {

... return this.age > 20

... }

... })

{ "_id" : 1, "name" : "Janny", "age" : 28, "gender" : true, "like" : "狗" }

{ "_id" : 3, "name" : "Jack", "age" : 38, "gender" : true, "like" : "鸡" }

{ "_id" : 6, "name" : "Mark", "age" : 21, "gender" : true, "like" : "鸡" }

{ "_id" : 7, "name" : "Aorton", "age" : 26, "gender" : false, "like" : "猫" }

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容