मैं अपना दृष्टिकोण साझा करना चाहता हूं, जो लेखक के उत्तर के समान है, लेकिन लूपबैक के तरीकों का उपयोग करने के साथ।
{
"name": "sequence",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"value": {
"type": "number",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
के रूप में आप इस मॉडल में जितने चाहें उतने दृश्यों स्टोर कर सकते हैं: यहाँ Sequence
मॉडल मेरे द्वारा बनाए गए है। तब मैं एक दृश्य मैं इस स्क्रिप्ट के साथ की जरूरत है (इस मामले में order
अनुक्रम) बनाने: अब
var app = require('./server/server');
var Sequence = app.models.Sequence;
Sequence.findOrCreate({
where: {
name: 'order'
}
}, {
name: 'order',
value: 0
}, function (err) {
if (err) {
console.log(err);
}
process.exit();
});
हर मैं आदेश संख्या की जरूरत है एक आदेश बनाने के लिए, पहले मैं incrementing द्वारा Sequence
मॉडल में order
रिकॉर्ड को अपडेट इसके value
और फिर इसका उपयोग करें:
var Sequence = Order.app.models.Sequence;
Sequence.findOne({
where: {
name: 'order'
}
})
.then(function (orderNumber) {
orderNumber.value++;
return orderNumber.save();
})
.then(function (orderNumber) {
Order.upsert({
orderNumber: orderNumber.value,
...
});
});
चीयर्स!
स्रोत
2015-12-18 09:30:31
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ – Brian
धन्यवाद @ ब्रायन, जिसने मुझे सही रास्ता शुरू कर दिया। – Warren