【问题标题】:MongoDB - Update objects in a document's ListMongoDB - 更新文档列表中的对象
【发布时间】:2016-10-22 07:27:43
【问题描述】:

我有以下文件列表,List<Project> projectList

"projectsList": [
    {
        "projectNumber": 1
        "projectName": "kjsd",
        "projectURL": "lkjsand",
        "projectDate": "Oct 7, 2016 12:00:00 AM",
        "projectOccupation": "kaijiuhdsa",
        "projectProposal": "aus asdig agduya"
    },
    {
        "projectNumber": 2
        "projectName": "alan walker",
        "projectURL": "lkjsand",
        "projectDate": "Oct 7, 2016 12:00:00 AM",
        "projectOccupation": "kaijiuhdsa",
        "projectProposal": "aus asdig agduya"
    },
    {
        "projectNumber": 3
        "projectName": "",
        "projectURL": "",
        "projectOccupation": "",
        "projectProposal": ""
    }

]

我有两个包含

的项目对象
Project oldProject= new Project("kjsd","lkjsand","Oct 7, 2016 12:00:00 AM","kaijiuhdsa","aus asdig agduya")

我需要更新

Project newProject= new Project("kjsd","http","Oct 7, 2016 12:00:00 AM","kaijiuhdsa","ocr")

如何使用 java 驱动在 mongoDB 中用 newProject 更新 oldProject?

【问题讨论】:

  • 你在mongodb中的文档是projectList对象还是Project对象?
  • 我的文档是项目列表
  • 项目中的任何键都可以被视为唯一键吗?
  • 我有每个用户唯一的 objectID 键,我在项目中没有唯一键
  • 如果我要更新newProject,我需要在多个projectList 数组中找到这个文档。是否有任何唯一的组合可以识别Project 对象?

标签: java mongodb database


【解决方案1】:

我可以在 MongoDB 中回答。我想你可以把它转换成合适的 Java 方法。

db.col.update(
    {"projectsList.projectNumber": 1}, 
    {$set: {
      "projectsList.$.projectUrl": "http",
      "projectsList.$.projectProposal": "ocr"
    }})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多