美文网首页
【mongoDB】mongoDB 多级数据更新(2)

【mongoDB】mongoDB 多级数据更新(2)

作者: Bogon | 来源:发表于2023-05-25 14:27 被阅读0次

mongoDB如何查看表中的最近10条数据 ?

在MongoDB中,可以使用find()方法查询表中的数据,并使用sort()方法对数据进行排序,然后使用limit()方法限制查询结果的数量。

以下是查看表中最新10条数据的语句:

> use  testDB
> db.collection.find().sort({_id: -1}).limit(10)

其中,collection是指要查询的表的名称,_id: -1表示按照_id字段进行倒序排序,即最新的数据排在前面,limit(10)表示只查询前10条数据。

{
        "_id" : "3464f4f9-633d-4081-a7ce-e052eabd2aea",
        "useTimer" : false,
        "scheduleTime" : "2023-02-11 12:25",
        "model" : 2,
        "text" : "测试",
        "msgType" : 2,
        "sysncHeadLine" : false,
        "commentSwitch" : false,
        "commentauditswitch" : false,
        "list" : [
                {
                        "row" : 0,
                        "date" : "",
                        "title" : "测试",
                        "text" : "",
                        "zip" : "<p>测试</p>",
                        "url" : "",
                        "author" : "",
                        "publishTime" : "2023-02-11 12:15",
                        "commentSwitch" : false,
                        "commentauditswitch" : false,
                        "attaches" : [ ]
                }
        ],
        "updateTime" : NumberLong("1676089010840"),
        "createTime" : NumberLong("1676089010840"),
        "sendUser" : "63bd0b5ce4b0273b933b5490",
        "sendUserName" : "test",
        "pid" : "10010",
        "group" : "全部订阅用户",
        "eid" : "10086"
}

要将 "zip" : "<p>测试</p>" 改为 "zip" : "<p>test</p>" ,如何操作?

可以使用以下代码来更新该条数据中的 "zip" 字段:

db.collection.updateOne(
    { _id: "3464f4f9-633d-4081-a7ce-e052eabd2aea" },
    { $set: { "list.0.zip": "<p>test</p>" } }
)

其中,db.collection 是你的集合名称。
这个命令使用了 updateOne() 方法来更新指定 _id 的文档,使用 $set 操作符将 "zip" 字段更新为 "<p>test</p>"。
注意,这个命令中的 "list.0" 表示更新该文档中的 list 数组的第一个元素。
如果你的文档中有多个元素,你需要根据实际情况修改这个路径。

要将 "zip" : "<p>测试</p>" 删除 ,如何操作?

要删除 "zip" 字段,可以使用 $unset 操作符来删除该字段。以下是更新语句:

db.collection.updateOne(
    { _id: "3464f4f9-633d-4081-a7ce-e052eabd2aea" },
    { $unset: { "list.0.zip": "" } }
)

该命令将 "zip" 字段的值设为空字符串,从而将其删除。
注意,这个命令中的 "list.0" 表示更新该文档中的 list 数组的第一个元素。
如果你的文档中有多个元素,你需要根据实际情况修改这个路径。

如果要在 "zip" : "<p>测试</p>" 下 加一行 "测试key": "测试value" ,如何操作?

可以使用 updateOne() 方法来更新该条数据,具体操作如下:

db.collection.updateOne(
   {_id: "3464f4f9-633d-4081-a7ce-e052eabd2aea"},
   {$set: {"list.0.测试key": "测试value"}}
) 

其中,第一个参数指定了要更新的数据的条件,第二个参数使用 $set 操作符来指定要更新的字段和值。
在这里使用了数组索引来指定要更新的子文档中的字段。

{
        "_id" : "3464f4f9-633d-4081-a7ce-e052eabd2aea",
        "useTimer" : false,
        "scheduleTime" : "2023-02-11 12:25",
        "model" : 2,
        "text" : "测试",
        "msgType" : 2,
        "sysncHeadLine" : false,
        "commentSwitch" : false,
        "commentauditswitch" : false,
        "list" : [
                {
                        "测试key": "测试value",             
                        "row" : 0,
                        "date" : "",
                        "title" : "测试",
                        "text" : "",
                        "zip" : "<p>测试</p>",
                        "url" : "",
                        "author" : "",
                        "publishTime" : "2023-02-11 12:15",
                        "commentSwitch" : false,
                        "commentauditswitch" : false,
                        "attaches" : [ ]
                }
        ],
        "updateTime" : NumberLong("1676089010840"),
        "createTime" : NumberLong("1676089010840"),
        "sendUser" : "63bd0b5ce4b0273b933b5490",
        "sendUserName" : "test",
        "pid" : "10010",
        "group" : "全部订阅用户",
        "eid" : "10086"
}

字典中, {key1 : value1, key2 : value2 } , "测试key": "测试value" 在字典中的 位置,没有关系。

相关文章

  • mongodb 使用参考

    关于mongodb创建索引的一些经验总结(转) MongoDb 数据迁移 MongoDB 更新数据 MongoDB...

  • Mongodb基本操作

    mongodb数据库管理: Mongodb插入文档: Mongodb更新文档 Mongodb删除文档: Mongo...

  • Node.js官方mongodb驱动

    准备 一些mongodb命令 连接mongodb 插入数据 更新数据 删除数据 查询数据 参考https://gi...

  • MongoDB大数据处理权威指南

    《MongoDB大数据处理权威指南》本书根据MongoDB的新版本做了相应更新,其中包含MongoDB n全新的所...

  • mongodb aggregate

    mongodb高级特性aggregate,aggregate类似stream的处理方式,数据经过多级处理,最终输出...

  • 2019-01-06 MongoDB数据库学习

    1.项目引用mongodb npm install mongodb --save 2.mongodb默认的数据叫t...

  • MongoDB一对多关系建模

    MongoDB 一对多关系建模MongoDB一对多模式的三种设计方案MongoDB数组修改器更新数据

  • MongoDB更新文档 --- 2022-04-03

    本章介绍,通过mongo shell更新MongoDB文档数据。MongoDB通过各种类型的操作符实现的不同的更新...

  • 数据库操作

    MongoDB 1.启动mongodb数据库: 使用命令 mongod 启动 2.在mongodb中导出指定字段:...

  • 浅谈MongoDB数据库

    浅谈MongoDB数据库 Java操作MongoDB数据库简介MongoDB 介绍数据库安装MongoDB使用Mo...

网友评论

      本文标题:【mongoDB】mongoDB 多级数据更新(2)

      本文链接:https://www.haomeiwen.com/subject/lajhedtx.html