首页 > 数据库 >mongodb增删改查 及批量操作(二)

mongodb增删改查 及批量操作(二)

时间:2022-11-14 13:32:29浏览次数:27  
标签:name mongodb age db find user 增删 改查 id

1.增加insert

mongodb增删改查 及批量操作(二)_字段

插入多笔数据

db.stu.insert([{_id:3,sn:'003',name:'zhangfei'},{_id:4,sn:'004',name:'guanyu'},{sn:'005',name:'liubei'}])

mongodb增删改查 及批量操作(二)_字段_02

增加复杂的文档

db.stu.insert({name:{x:'li',m:'shiming'},jl:['war','kill']})

mongodb增删改查 及批量操作(二)_取模_03

2.删delete

db.stu.remove({sn:'001'})     删除指定条件的数据
db.stu.remove({}) 删除所有数据
db.stu.remove('条件',true) 删除一行数据

3.改update

修改时的赋值表达式

$set       修改某列的值      
$unset 删除某个列
$rename 重命名某个列
$inc 增长某个列

将lisi 改为 dalang

db.user.update({name:'lisi'},{$set:{name:'dalang'}})   

mongodb增删改查 及批量操作(二)_数据_04

mongodb增删改查 及批量操作(二)_取模_05

测试修改某个列值,删除某个列,重命名某个列,增长某个列

db.user.update(
{name:'wukong'},
{
$set:name:′dzsf′,
$unset:{jingu:1},
$rename:sex:′gender′,
$inc:{age:16}
}
);

mongodb增删改查 及批量操作(二)_字段_06

Option的作用

{upsert:true/false,multi:true/false}

upsert是指没有匹配的行,则直接插入该行

multi是指是否要改多行

db.user.update({age:10},{$set:{age:11}})   #此时只能改一行

mongodb增删改查 及批量操作(二)_取模_07

db.user.update({age:10},{$set:{age:11}},{multi:true})   #此时可以修改多行

mongodb增删改查 及批量操作(二)_字段_08

db.user.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true})  #如果不存在就插入

mongodb增删改查 及批量操作(二)_取模_09

setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段,setOnInsert只有在upsert设置为true,并且被更新的文档不存在此集合中,需要插入一个新的文档的时候才起作用。在插入的时候会为新插入的文档添加给定的字段.   

mongodb增删改查 及批量操作(二)_字段_10

4.查select

查询条件:

$lt     <
$lte <=
$gt >
$gte >=
$ne <>
$or or
$in in
$nin not in
$not 元运算语句,可以用在其他任何条件之上
$mod 取模运算
(1).只查特定的列(id属性是默认查出来的,如果不需要则可以这样​​db.user.find({},{age:1,_id:0}))​
db.user.find({},{age:1})  

mongodb增删改查 及批量操作(二)_字段_11

(2).查询条件为songzi 的 age列,并且结果中不包括_id列
db.user.find({name:'songzi'},{age:1,_id:0})  

mongodb增删改查 及批量操作(二)_取模_12

(3).查询年龄>=11 <=23的数据
db.user.find({age:{$gte:11,$lte:23}})  

mongodb增删改查 及批量操作(二)_取模_13

(4).查找2016年4月后创建的数据

向表中增加字段createtime

times=new Date('2016/09/20')
db.user.update({},{$set:{createtime:times}},{multi:true})

修改表createtime的值

db.user.update({name:'zhansan'},{$set:{createtime:new Date('2016/08/20')}})

现在查找满足条件的数据

db.user.find({createtime:{$gt:new Date('2016-04-01')}},{_id:0})

mongodb增删改查 及批量操作(二)_取模_14

(5).查找不等于'dalang'的数据
db.user.find({name:{$ne:'dalang'}}) 
(6).查找'dalang','songzi'
db.user.find({name:{$in:['dalang','songzi']}})
(7).查找不是'dalang','songzi'
db.user.find({name:{$nin:['dalang','songzi']}})
(8).查找name是'dalang','songzi' 或者 age是11岁的 数据(or 和 in 混合使用)
db.user.find({$or:[{name:{$in:['dalang','zhansan']}},{age:11}]})
(9).not和mod的混合使用

查找取模为1的数据

db.goods.find({cat_id:{$mod:[3,1]}},{cat_id:1,_id:0})  

mongodb增删改查 及批量操作(二)_数据_15

反之查找取模为0的

db.goods.find({cat_id:{$mod:[3,0]}},{cat_id:1,_id:0})

或者

db.goods.find({cat_id:{$not:{$mod:[3,1]}}},{cat_id:1,_id:0})  #目前是错误的  
(10).like的实现(mongodb用正则表达式实现)

查找name中有an数据

db.user.find({name:/an/})      # select * from user where name like '%an%'

查找name中以z开头的数据

db.user.find({name:/^z/})      # select * from user where name like 'z%'
(11).不区分大小写,搜索name中有chen的数据
db.user.find({name:/chen/i},{name:1,age:1,createtime:1,_id:0})  

mongodb增删改查 及批量操作(二)_取模_16





标签:name,mongodb,age,db,find,user,增删,改查,id
From: https://blog.51cto.com/u_13753753/5848338

相关文章

  • 巨蟒python全栈开发flask7 语音识别升级版&&mongoDB
    1.web简陋版玩具首先,复制上一节课的内容,将其中的语音文件删除掉,放入三个文件,然后,我们需要在app写入下面的内容下图是需要修改的地方:  Recorder_ok.js是一个web录音......
  • 遇到的问题mongodb
    1.MongoNetworkError:failedtoconnecttoserver?数据库没有启动,启动mongo数据库就好2.有些东西真的是要做好记录的,单纯为了自己日后可以查阅比较方便也就可以要做3.时......
  • MongoDB - 入门指南
    组件结构核心进程在MongoDB中,核心进程主要包含了mongod、mongos和mongosh三个。其中最主要的是mongod程序,其在不同的部署方案中(单机部署、副本集部署、分片集群......
  • Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发
    一、标准CRUD使用对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢?我们先来看张图:1.1环境准备这里用的环境就是Java开发学习(四十)----MyBat......
  • 表单新增全选删除添加修改查询
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="js/jquery-3.3.1.min.js"></script></head><body><table......
  • JS登录跳转加表单的增删改查
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="js/jquery-3.3.1.min.js"></script></head><body>......
  • 学生管理系统(基于控制台的增删改查)
    学生管理系统(基于控制台的增删改查)要求:使用List集合存储自定义的对象集合,并熟练使用List集合的中常用方法实现相关的操作。Java环境:jdk17IDE:Idea2021.1.3目录:目......
  • MongoDB导入导出备份数据
    需要提前安装mongodb-database-tools参考:centos离线安装mongodb-database-tools导出数据常用的导出有两种:mongodump和mongoexport,两种方式的区别:1、mongodump导出的文件......
  • mongodb基本操作命令及数据类型(一)
    从MongoDB3.2,它使用WiredTiger作为其默认的存储引擎,也可以通过以下语句查询默认的存储引擎1.mongodb入门命令showdatabases/dbs查看当前数据库(test(测试库)、admin......
  • 篇(7)-Asp.Net Core入门实战-从系统菜单功能的增删改查开始(二:修改和删除)
    入门实战-从系统菜单功能的增删改查开始(一:修改和删除)上一篇讲了查询和增加,本章节就把修改和删除讲完。1.实现修改功能。(1).在MenuController中增加2个Action:Edit,分别是......