Comments (7)
Yes is possible, simply recall the plugin several times for different fields. Here an example:
UserSchema = mongoose.Schema({
name: String,
like: Number,
visits: Number
});
UserSchema.plugin(AutoIncrement, {id: 'like_counter', inc_field: 'like', disable_hooks: true});
UserSchema.plugin(AutoIncrement, {id: 'visits_counter',inc_field: 'visits'});
Maybe in a future will be possible to do it in a single call but for now this is the way.
from mongoose-sequence.
I tried that way but the wrong field is used.
Let's admit I initialize that way :
InvoiceSchema.plugin(AutoIncrement, {id: 'invoice_in', inc_field: 'invoiceIn', disable_hooks: true});
InvoiceSchema.plugin(AutoIncrement, {id: 'invoice_out', inc_field: 'invoiceOut', disable_hooks: true});
If I use this method, It's the field InvoiceOut that is incremented ... :-/
invoice.setNext('invoice_in', function(err, invoice){
invoice.save();
});
from mongoose-sequence.
Ok, give me time to check it ok?I'll be back to you soon
from mongoose-sequence.
There was a bug. Now I created a test. Can you please check the version on develop?
I'll publish the new version lately in any case.
from mongoose-sequence.
I also noticed that the "setNext" method do not save the document which is maybe the desired behavior. I'll implement an option for this or I'll accept any PR :)
from mongoose-sequence.
Great ! Thanks for your rapidity. I'm going to look at It
from mongoose-sequence.
Version 3.0.1 is published and should solve this problem.
Another change is that now when you call setNext the document is already saved so you don't need to save it manually anymore. In your example
invoice.setNext('invoice_in', function(err, invoice){
// The next line must be removed because invoice is already saved
// invoice.save();
});
In a next version this will be an option.
from mongoose-sequence.
Related Issues (20)
- I want to add the feature to add a field with prefix-sequenceNo-suffix as string while generating the sequence Number HOT 3
- counter being increased by 2 rather than by one HOT 1
- using this with two id fields is throwing errors HOT 2
- Cannot display the Incremented id for a nested field
- Enable the library conditionally HOT 4
- Question - Modern 'import' syntax HOT 12
- Usage with separate models .js files than the main .js file
- Remove DeprecationWarning HOT 1
- No Longer Auto-Incrementing HOT 2
- sequence not counting on cosmosDB HOT 3
- does it work with typescript? HOT 1
- set auto increment for more than one schema HOT 2
- Getting Error: Cannot read property 'seq' of null
- Counter already defined for field "seq" HOT 3
- TypeError: AutoIncrementFactory is not a function
- Customize next value HOT 1
- Error: Auto increment field already present and not of type "Number" HOT 1
- does not work with mongoose 7 HOT 11
- Trying to implement mongoose sequence in type "module" es6 but it does not work HOT 4
- Use connection instead of "mongoose" to create the Schema HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongoose-sequence.