• MongoDB文档操作(5)


    添加文档

    语法:

    db.集合名.insert({k1:"v1", k2:"v2"....})
    

    注意:

    (1)文档就是键值对,数据类型是BSON格式,支持的值更加丰富。

    比如:db.集合名.insert({name:"bashlog", spc:{weight:100, address:"henan"}})

    (2)在添加的文档里面,都有一个'_id'的键,值为对象类型。

    ObjectId类型:

    每个文档都有一个_id字段,并且同一集合的_id值唯一,该字段可以是任意类型的数据,默认是一个ObjectId对象。

    ObjectId对象数据组成:时间戳|机器码|PID|计数器

    _id的键值我们可以自己输入,但是不能重复

    注意:在插入数据的时候,如果_id的值重复则会报错。

    (3)可以使用js代码来完成批量插入文档。

    删除文档

    语法:

    db.集合名.remove({条件}) # 不写条件等于删除所有文档
    

    示例1:删除collect1集合中name等于AK3的文档

    db.collect1.remove({name:"ack3"})
    

    示例2:删除collect1集合中年龄大于25的文档

    使用操作符完成

    常用操作符

    $lt(<), $lte(<=), $gt(>), $gte(>=), $ne(<>), $in, $nin, $or, $not, $mod(取模), $exists, $where

    db.collect1.remove({age:{'$gt':25}})
    

    更新文档

    语法:

    db.集合名.update({条件},{新的文档},是否新增,是否修改多条)
    db.集合名.update(条件,新文档,是否新增,是否修改多条)
    

    是否新增:如果值是1(true),则没有满足条件的就添加。

    是否修改多条:若值是1(true),如果满足条件的有多个文档则都要修改

    方法一:直接修改

    示例:在collect2集合里面,要修改age=27的文档名称为AK48

    db.collect2.update({age:27},{name:"AK48"})
    

    注意:以上修改方式,会丢失其它的键值,因此不推荐使用。

    方法二:使用修改器

    示例:要修改age=25的文档名称为"big_bash_log",并且其它键值不能丢失

    $inc:加一个数字

    set:修改某一个字段,如果该字段不存在就增加这个字段

    语法:

    db.集合名.update({条件},{修改器的名称:{修改的键:修改的新值}})
    

    修改age=12的文档,年龄增加10岁

    db.collect2.update({age:12},{'$inc':{age:10}})
    

    查询文档

    语法:

    db.集合名.find({条件})
    

    示例:取出collect2集合里面的第一个文档

    db.collect2.findOne()
    

    示例:取出collect2集合里面name=bash的文档

    db.collect2.find({name:"bash"})
    

    示例:取出collect2集合中age大于11的文档

    db.collect2.find({age:{'$gt':11}})
    

    示例:取出collect2集合里面的文档,只显示name键

    db.collect2.find({},{name:1}) # 1表示只显示name的键值
    

    name=0表示,显示除了name以外的键值

    示例:根据年龄的(降序|升序)来显示文档

    db.集合名.find().sort({age:1}) # 根据年龄升序
    db.集合名.find().sort({age:-1}) # 根据年龄降序
    

    示例:显示collect2集合中前2个文档

    db.collect2.find().limit(2)
    

    排序并取前两个

    示例:统计collect2集合中文档的个数

    db.集合名.count() # 返回集合中有多少个文档
    

  • 相关阅读:
    android 加入关屏
    网址导航收集
    OpenStack 中文社区
    Truncate 删除数据
    c# 实体类生成工具
    .net 关系
    html中,播放 flash
    Axis2.0+WebService的使用
    xfire java web服务器引擎
    修复 google paly
  • 原文地址:https://www.cnblogs.com/itbsl/p/13376180.html
Copyright © 2020-2023  润新知