• mongodb 插入/更新/删除 文档


    插入文档

    db.collection.insertOne() 用于向集合插入一个新文档,如下:

    db.movies.insertOne({"title" : "Stand by Me"})
    

    db.collection.insertMany() 用于向集合插入一个多个文档,如下:

    db.movies.insertMany(
        [
            {"_id": 3, "title": "Sixteen Candles"},
            {"_id": 4, "title": "The Terminator"}
        ],
        {"ordered": false})
    

    ordered:指定是否按顺序写入,默认 true,按顺序写入。

    虽然 insert 等方法仍然支持向后兼容,但今后不应该在应用程序中继续使用。应该使用 insertOne 和insertMany 来创建文档。

    删除文档

    deleteOne 和deleteMany 两种方法。这两种方法都将筛选文档(filter document)作为第一个参数。

    db.movies.deleteOne({"_id": 4})
    db.movies.deleteMany({"year": 1984})
    

    数据删除是永久性的。没有任何方法可以撤回删除文档或者删除集合的操作,也无法恢复被删除的文档,当然从以前的备份中恢复除外。

    更新文档

    updateOne、updateMany 和 replaceOne。

    updateOne 和 updateMany都将筛选文档作为第一个参数,将变更文档作为第二个参数,后者对要进行的更改进行描述。

    replaceOne 同样将筛选文档作为第一个参数,但第二个参数是一个用来替换所匹配的筛选文档的新文档。
    更新文档是原子操作:如果两个更新同时发生,那么首先到达服务器的更新会先被执行,然后再执行下一个更新。

    db.movies.replaceOne(
        {"_id": 1}
        , {"_id": 1, "title": "mongo111"}
        );
    

      

    更新运算符

    "$set" 用来设置一个字段的值。如果这个字段不存在,则创建该字段。

    db.movies.updateOne({"_id": 1},
        {"$set": {"a1.a11": "a11"}})
    

    可以用 "$unset" 将这个键完全删除

    db.movies.updateOne({"_id": 1},
        {"$unset": {"a1": ""}})
    

    数组运算符

    如果数组已存在,"$push" 就会将元素添加到数组末尾;如果数组不存在,则会创建一个新的数组。

    db.movies.updateOne({"_id": 1},
        {"$push": {"b1": "b1"}})
    

    "$push" 使用 "$each" 修饰符,在一次操作中添加多个值:

    db.movies.updateOne({"_id": 1},
        {"$push": {"b1": {"$each": [562.776, 562.790, 559.123]}}})
    

    可以使用 "$slice" 修饰符配合 $push 来防止数组的增长超过某个大小

    db.movies.updateOne({"_id": 1},
        {
            "$push": {
                "b1": {
                    "$each": ["111", "222"],
                    "$slice": -1
                }
            }
        })
    

    在截断之前可以将 "$sort" 修饰符应用于 "$push" 操作

    db.movies.updateOne({"_id": 1},
        {
            "$push": {
                "b2": {
                    "$each": [
                        {"name": "aaa", "rating": 6.6},
                        {"name": "bbb", "rating": 4.3}],
                    "$slice": -2,
                    "$sort": {"rating": 1}
                }
            }
        })
    

      

    参考: MongoDB权威指南(第3版)第 3 章 创建、更新和删除文档

  • 相关阅读:
    win7下安装memcached
    Integer自动装拆箱
    XShell配色方案
    XShell上传和下载
    基于注解的Spring AOP拦截含有泛型的DAO
    PAT Advance 1020
    PAT Advance 1014
    JavaWeb中文乱码问题解决思路
    eclipse启动错误
    操作系统(一)
  • 原文地址:https://www.cnblogs.com/ooo0/p/15855192.html
Copyright © 2020-2023  润新知