mongodb id自增问题
迷茫
迷茫 2017-04-22 08:56:12
0
1
550

http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
官方文档给出了2种解决方法,我只看了第一种的时候:

function getNextSequence(name) {
   var ret = db.counters.findAndModify(
          {
            query: { _id: name },
            update: { $inc: { seq: 1 } },
            new: true
          }
   );

   return ret.seq;
}

function getNextSequence(name) {
   var ret = db.counters.findAndModify(
          {
            query: { _id: name },
            update: { $inc: { seq: 1 } },
            new: true,
            upsert: true
          }
   );

   return ret.seq;
}

英文看得有点模糊,多了一个upsert到底是好还是不好?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
黄舟

Tidak, melainkan anda mempunyai indeks yang unik, anda boleh memasukkan berbilang dokumen dengan nama yang sama. Mungkin terdapat berbilang fungsi findAndModify berjalan pada masa yang sama Mereka semua mendapati bahawa dokumen sedia ada tidak dapat ditemui, jadi mereka semua memutuskan untuk memasukkan dokumen baharu dan proses itu berulang.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan