MongoDB 用に Mongoose で自動インクリメント ID を作成したいと考えています。すでにいくつかの例を探していましたが、MongoDB のドキュメント以外に役立つものはありません。
質問する
16351 次
2 に答える
6
mongoose-sequence を使用します。例: 以下のモデルでは、新しいドキュメントが挿入されると、注文番号が 1 つ増えます。
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const AutoIncrement = require('mongoose-sequence')(mongoose);
const orderSchema = new Schema({
_id: mongoose.Schema.Types.ObjectId,
orderId: {
type: Number
}
...
});
orderSchema.plugin(AutoIncrement, {inc_field: 'orderId'});
module.exports = mongoose.model('Order', orderSchema);
理解しなければならない重要なことがあります。スキーマにrequired: trueを追加すると、操作が中断されます。
ルート ファイルで、マングース注文オブジェクトを作成し、save を呼び出すことができます。
...
const order = new Order(body);
order.save()
.then(doc => {
res.json(doc);
res.end();
});
于 2020-03-06T17:17:55.633 に答える
5
npm には、この機能を非常に簡単に実現するための mongoose-auto-incrementおよびmongoose-sequenceパッケージがあります。
于 2016-10-04T06:53:04.207 に答える