MongoDB và auto increment field

Discussion in 'Hỏi Đáp Kỹ Thuật' started by command, Jul 20, 2021.

  1. command

    command Bang Chúng

    Chào ae,

    Do nhu cầu cá biệt nên mình cần định nghĩa từng 1 field của document trong Mongodb sử dụng tăng số tự động.

    Để làm 1 trường tăng số tự động thì có nhiều hướng dẫn rồi, ví dụ như https://vinasupport.com/tao-auto-increment-field-trong-mongodb/

    Tuy nhiên, mình ko biết làm thế nào để các documents đã có tăng số tự động. Mình thử dùng hàm update như:
    Code:
    db.my_collection.update({},{
            $set:{'id':getNextSequence("userid")}
        },
        {multi:true}
    );
    Lệnh trên khi thực thi thì nó chỉ gọi hàm getNextSequence đúng 1 lần, nên tất cả các dữ liệu hiện có thì có chung id :) Chứ ko phải thực hiện lần lượt từng document và gọi hàm getNextSequence nhiều lần thì khi đó document sau sẽ có id tự tăng so với document trước đó.

    Ae nào rành MongoDB trường hợp này, xin tư vấn với! Thanks,
     
    Last edited: Jul 20, 2021