I am trying to create a User Schema that has a key of 'facebookid', which is a unique value that is only given when a user signs up with facebook, but not when a user signs up through google or locally. When a user signs up locally, the facebookid is set to null as a default. However I am getting the error: 'insertDocument :: caused by :: 11000 E11000 duplicate key error index: db22.users.$facebookid_1 dup key: { : null }'
Here is the Schema:
let UserSchema = new Schema({
facebookid: {
type: String,
required: false, // only required for facebook users
unique: true,
default: null
},
// more details + keys below ...
})
So how can I allow duplicate entries for the key facebookid if the value is null if I also want entries to be unique?
i.e I don't want to see two similar String entries:
not okay:
* User: {_id: 123, facebookid: '4325',username:'joe'}
* User: {_id: 432, facebookid: '4325', username: 'pat'}
okay:
* User: {_id: 123, facebookid: null,username:'joe'}
* User: {_id: 432, facebookid: null, username: 'pat'}