代码之家  ›  专栏  ›  技术社区  ›  Ipsita Rout

如何在mongodb中一次执行时更新多个值不同的行?

  •  0
  • Ipsita Rout  · 技术社区  · 5 年前

    我们知道,在mysql中,我们可以在1>和2>

    UPDATE feedbacks SET _id = '5c6a8bcfce1454086fefb879' WHERE user_rol = '26-02-2018';  
    UPDATE feedbacks SET _id = '5c6a89d3ce1454086fefb877' WHERE user_rol = '26-02-2017'; 
    UPDATE feedbacks SET _id = '5c6a896ece1454086fefb876' WHERE user_rol = '26-02-2016'; 
    

    1>

    INSERT INTO feedbacks (_id, added_on) 
    VALUES 
        ('5c6a8bcfce1454086fefb879', '26-02-2018'),
        ('5c6a89d3ce1454086fefb877', '26-02-2017'),
        ('5c6a896ece1454086fefb876', '26-02-2016')
    ON DUPLICATE KEY UPDATE added_on = VALUES(added_on)
    

    UPDATE feedbacks
        SET added_on = CASE 
            WHEN _id = '5c6a8bcfce1454086fefb879' THEN '26-02-2018'
            WHEN _id = '5c6a89d3ce1454086fefb877' THEN '26-02-2017'
            WHEN _id = '5c6a896ece1454086fefb876' THEN '26-02-2016'
        END
    WHERE _id IN ('5c6a8bcfce1454086fefb879', '5c6a89d3ce1454086fefb877', '5c6a896ece1454086fefb876')
    

    现在我的问题是,我们有什么方法可以在mongodb中做同样的事情(在一次执行中用不同的值更新多行)?

    1 回复  |  直到 5 年前