【问题标题】:Replace into (mysql) equivalent in mongodb在mongodb中替换为(mysql)等价物
【发布时间】:2017-07-09 21:40:48
【问题描述】:

我想在 mongodb 中进行批量插入,但如果记录已经存在,则应将其替换为新记录。有更新命令,但无法批量执行。知道是否可能吗?我正在使用 java api。 谢谢

编辑: 由于我的集合大小不是很大,我正在重命名集合并将 drop Target 选项设置为 true 并使用此数据创建一个新集合。因为我不能冒险删除并创建一个新集合,所以这会更好,但如果有替换成等价物。

【问题讨论】:

    标签: mongodb database nosql


    【解决方案1】:

    如果您的集合中有任何主键,那么它将自动替换。确保您的文档具有 _id 键。

    【讨论】:

    • 我试过这样做,但它忽略了(类似于将忽略插入..),你确定还是我犯了错误?
    • 您可以发布您的文档结构示例吗?
    • { "_id" : 1 , "doc_created" : "20110722165208693" , "screenName" : "k4rtk"} ,然后插入 { "_id" : 1 , "doc_created" : "20110722165208693" , " screenName" : "k4rtk123"} 但它没有被替换,仍然显示旧的
    【解决方案2】:

    查看mongodb文档:

    Shorthand for insert/update is save - if _id value set, the record is updated if it exists or inserted if it does not; if the _id value is not set, then the record is inserted as a new one.
    

    http://mongodb.github.io/node-mongodb-native/markdown-docs/insert.html

    【讨论】:

      猜你喜欢
      • 2021-05-16
      • 2012-12-03
      • 2019-02-19
      • 2023-03-05
      • 1970-01-01
      • 2011-10-15
      • 2011-02-13
      • 2010-09-20
      • 1970-01-01
      相关资源
      最近更新 更多