Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for non-integer IDs #37

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

JibstaMan
Copy link

For a project I'm working on, we're using sails-mongo for our production database. To keep things as similar as possible for the test suite, I'd like to have string IDs which are effectively ObjectId's.

This didn't work, since the code assumes IDs are auto-increment integers. The code replaced the correct string IDs with undefined. The line that does this is:

item[alias] = that.idMap[associatedModelName][item[alias] - 1];

This becomes that.idMap[associatedModelName][NaN], which returns undefined. Setting autoAssociations to false didn't solve this. I've added checks to see whether the ID is an integers (or can be coerced to an integer) before replacing the value of the association.

I've also added two new test cases (which can be run using npm run test:...) with string IDs which can be coerced to integers and object IDs which can't be coerced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants