ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MongoDB增删改查(终端操作)

2020-06-02 23:00:55  阅读:259  来源: 互联网

标签:name MongoDB age db update tablename 增删 改查 users


简单操作

show databases 查看当前服务器中的数据库

use dbname 切换当前使用的数据库

db 查看当前使用的数据库 代指当前数据库名

show tables 查看当前数据库活动的数据表

注意点:

use 不存在的数据库名

use dbname 在内存中创建数据库空间
show databases 查看当前磁盘中的数据库

db.不存在的数据表

db(内存中的).tablename 在内存中创建数据表空间
show tables 查看在当前数据库中磁盘上的数据表

写入磁盘:当数据表中存在数据,数据库及数据表均会写入到磁盘中

增删改查操作

增:

db.tablename.insert({})
db.users.insert({name:"alexander.dsb.li"})

推荐用法 :
db.tablename.insertOne({name:"alexander.dsb.li"}) 增加一条数据
db.tablename.insertMany([{name:"alexander.dsb.li"},{name:"alexander.dsb.li"}]) 增加多条数据

简单查:

db.tablename.find() 查找当前数据表中的所有数据
{ "_id" : ObjectId("5d50bdd1399ab50efdf765de") }
{ "_id" : ObjectId("5d50be7c399ab50efdf765df"), "name" : "alexander.dsb.li" }

推荐用法

db.tablename.findOne({}) 查询符合条件的第一条数据
db.tablename.find({}) 查询符合条件的所有数据

高级查:

db.users.find({age:999}) 查询所有age=999的数据

查询符合条件的所有数据

并列条件

db.users.find({age:999,name:"alex"})
$and 并列 db.users.find({"$and":[{name:"wpq"},{age:1000}]})

$or 或者 db.users.find({"$or":[{age:1000},{name:"alex"}]})

$in 包含或者 同一字段 或者条件 db.users.find({"age":{"$in":[999,1000]}})
age 或者等于 999 或者等于 1000

$all 子集或者 必须是子集 绝对不可以超集 交集是不可查询的
db.users.find({"hobby":{"$all":[5,1,3]}})

注意点

如果查询_id 那么 数据的值必须带上 ObjectId 的数据类型
db.Users.find({"_id":ObjectId("5d50e778b2a72712f5ee54c5")})

Object查询时可以直接使用 对象.属性 的方式作为Key
当Array中出现了Object 会自动遍历 Object中的属性

改:

$修改器

格式:db.tablename.update({查询符合条件的数据},{$修改器:{修改的内容}})
修改符合查询条件的第一条数据

​ db.users.update({name:"alexander.dsb.li"},{"$set":{name:"DSB"}})

单个字段 进行修改
$set 强制将谋值修改覆盖
db.users.update({name:"DSB"},{"$set":{age:73,gender:1}})

$unset 强制删除一个字段
db.users.update({age:73},{"$unset":{gender:0}})

$inc 引用增加
db.users.update({name:"DSB"},{"$inc":{age:1}})
db.users.update({name:"DSB"},{"$inc":{age:-2}})
$array的修改器
Array是list 列表类型 
list -> append remove pop extends
Array -> $push $pull  $pop $pushAll $pullAll
$push 在array中追加数据 
db.users.update({name:"MJJ"},{"$push":{"hobby":"抽烟"}})

$pushAll 在Array中批量增加数据 [] == list.extends
db.users.update({name:"MJJ"},{"$pushAll":{"hobby":["喝酒","烫头"]}})

$pull 删除符合条件的所有元素
db.users.update({name:"MJJ"},{"$pull":{"hobby":"烫头"}})

$pop 删除array中第一条或最后一条数据
db.users.update({name:"MJJ"},{"$pop":{"hobby":1}}) 正整数为 删除最后一条数据
db.users.update({name:"MJJ"},{"$pop":{"hobby":-1}}) 负整数为 删除第一条数据

$pullAll 批量删除符合条件的元素 []
db.users.update({name:"MJJ"},{"$pullAll":{"hobby":[3,4,5]}})
$的特殊用法
储存符合条件的元素的下标索引 - 只能存储一层遍历的索引位置
$ = 9
db.users.update({"hobby":10},{"$set":{"hobby.$":0}})

官方推荐:
db.tablename.updateOne({},{}) # 修改符合条件的第一条数据
db.tablename.updateMany({},{}) # 修改符合条件的所有数据

删:

​ db.Tables.remove({}) 删除所有符合条件的数据
​ 推荐用法:

db.tablename.deleteOne({查询条件})	删除符合条件的第一条数据
db.tablename.deleteMany({查询条件}) 删除所有符合条件的数据

查询过程会出现比较范围查询,因此存在数学比较符

数学比较符:

$gt 大于

$lt 小于

$gte 大于等于

$lte 小于等于

$eq 等于 : 一般是用在 "并列" "或者" 等条件中

$ne 不等于,不存在和不等于 都是 不等于

标签:name,MongoDB,age,db,update,tablename,增删,改查,users
来源: https://www.cnblogs.com/Hedger-Lee/p/13034368.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有