Я новичок в мангуст, имеют мангуст схему так:мангуст - сохранить запись с несколько массивом значений
var userSchema = new mongoose.Schema({
username : {type:String},
password : {type:String},
firstName : {type:String},
lastName : {type:String},
email : {type:String},
userVerified: {type:String},
userType : {type:String},
userGroup : [
{userRoles:{type:String}}
]
},{collection:'user'});
и данные для свойств схемы получаемых с помощью req.body.parameters , здесь я хочу создать запись пользователя с несколькими пользовательскими ролями за один раз.
то, что я сделал это:
var userInfo = {'username':username,'password':password,'firstName':firstName,'lastName':lastName,'email':email,'userVerified':userVerified,'userType':userType,'userGroup':{'userRoles':userGroup}}
user(userInfo).save(function (err,doc){});
вставленное значение выглядит следующим образом:
{ "_id" : ObjectId("56ab511428f9f92f2b848845"), "username" : "kk", "password" : "dc468c70fb574ebd07287b38d0d0676d", "firstName" : "kk", "lastName" : "kk", "email" : "kk", "userVerified" : "1", "userType" : "user", "userGroup" : [ { "userRoles" : "[\"PHP\",\"NodeJS\"]", "_id" : ObjectId("56ab511428f9f92f2b848846") } ], "__v" : 0 }
и нежелательные косые также в массив данных. Помогите, чтобы это было правильно. Заранее спасибо
Если 'userGroup' просто массив строк, рассмотреть вопрос об изменении его определение в схеме только' UserGroup: [String] '. – JohnnyHK
Как вы сказали, я изменил его, теперь результат выглядит так: «userGroup»: ["[\" PHP \ ", \" NodeJS \ ", \" Android \ ", \" Ios \ ", \" DotNet \ "]"] - почему косые черты попадают в массив, и как я могу искать пользователя, который принадлежит группе, например, «Ios» – karthik
. Так что переменная 'userGroup' - это массив, который содержит _another_ массив строк вместо просто быть массивом строк. Вы не показываете, откуда эта переменная, но использование 'userGroup [0]' вместо этого было бы одним из способов исправить это. – JohnnyHK