Mongoose - новый под-массив схемы с помощью ng-select
У меня есть эта схема:
const userSchema = new Schema({
email: String,
skills: {
name: String,
label: String
}
})
module.exports = mongoose.model('user', userSchema, 'users')
Используя ng-select в HTML, вот так:
<ng-select [items]="options" bindLabel="label" bindValue="value"
[addTag]="addCustomSkill" [multiple]="true"
placeholder="Select Skills" [(ngModel)]="registerUserData.skills"
name="skills">
</ng-select>
И я хочу опубликовать на mLab, как это:
registerUser() {
this._auth.registerUser(this.registerUserData)
.subscribe(
res => console.log(res),
err => console.log(err)
)
}
Консоль будет регистрировать электронную почту, но не навыки.
и, конечно же, mLab поставит только электронную почту
Обновить:
Мне удалось заставить его работать, изменив навыки на
skills: Array,
а также:
name="skills[]"
Но он будет публиковать без ключа подмассив, только значение как:
"skills": [
"JAVA"
],
Я хочу, чтобы это было:
"skills": [
"name": "JAVA"
"label": "JAVA"
],
1 ответ
Попробуйте также создать схему для вашего объекта умения и используйте ее следующим образом:
const skillSchema = new Schema({
name: String,
label: String
});
const userSchema = new Schema({
email: String,
skill: skillSchema
});