MongoDB之基本crud

基本crud

插入文件

单个文件的插入

db.collection.inster(
 <document or array of document>,
 	{
   	orderad:<boolean>
 	}
)
  • 说明
    • document:要插入到集合的文件或文件数组
    • ordered:版本2.6+默认为true
      • 如果为真,按顺序插入,如有一个出错,将返回不处理剩下的文件
      • 如果为false,无序插入,如有一个出错,会将剩下的执行完
  • 注意
    • 如果指定的集合(表)不存在,就会隐式创建
    • mongo中的数字,默认是double,如果要存整型,必须要用函数NumberInt(整型数字),否则取出会有问题
    • 插入当前日期使用new Date()
    • 插入的数据没有指定_id,会自动生成
    • 如果某个字段没有值,可以赋值为null,或者不写该字段
  • 返回值(成功的情况)

WriteResult({ “nInserted” : 1 })

批量插入

 db.collection.insterMany(
 [<document 1>,<document 1>,<document 1>...]
   	{
   orderad:<boolean>
 		}
)
  • 插入时指定了_id,则主键就是该值
  • 如果某条数据插入失败了,就会终止插入,但是已经插入成功的数据不会回滚
  • 批量插入由于数据较多容易失败,可以使用try cath来进行一场捕捉

查询

 db.collection.find(<query>,[projection])
  • query:使用查询运算符指定选择筛选器,若要返回集合中的所有文档,省略
  • projection:指定要返回的字段(投影).若返回所有字段,省略
  • 举例
    • 查询所有
    db.collection.find()
    或
    db.collection.find({})
    
    • 查询a=1的文档
     db.collection.find({a:'1'})
    
    • 投影查询(选择返回的字段,就等于不要select *),查询a和b,不查c出来
     db.collection.find({},{a:1,b:1,c:0})
    

修改

  • 语法
 db.collection.update(query,update,options)
 
 或
  db.collection.update(
    <query>,
    <update>,
    {
      upsert: <boolean>,
      multi:<boolean>,
      writeConcern:<document>,
      collation:<document>,
      arrayFilters:[<filterdocument1>,...],
      hint: <document|string>
     }
  )
  • 举例
    • 修改整个文档(修改_id为1的记录,a的值改为1,但是除了a之外的值都会不见)
    db.collection.update({_id:'1'},{a:NumberInt(1)})
    
    • 修改文档中部分字段(修改_id为1的记录,a的值改为1,但是除了a之外的值都不变)
     db.collection.update({_id:'1'},{$set:{a:NumberInt(1)}})
    
    • 批量修改
    默認只修改第一條數據
      db.collection.update({userid:'1'},{$set:{a:NumberInt(1)}})
      修改所有復合條件的數據
      db.collection.update({userid:'1'},{$set:{a:NumberInt(1)}},{multi:true})
    
    • 列值增長的修改(在原來的值上增加或減少,正數就是增加,負數就是減少)
     db.collection.update({_id:'1'},{$inc:{a:NumberInt(1)}})
    

刪除文檔

db.collection.remove(條件)
  • 全部刪除
db.collection.remove({})
  • 刪除_id為1的記錄
db.collection.remove({_id:'1'})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值