У меня есть следующая схема:
var userSchema = new Schema({
userID: Number,
userName: String,
userEmail: String,
teams:Array,
socialMedias:
{
fbUID: String,
googleUID: String,
twitter: String }
});
Во-первых, как добавить пустой массив? Правильно ли я делаю следующее?
teams:{},
Во-вторых, я пытаюсь выполнить запрос с помощью Mongoose в своем Node.js, но получаю ошибку в точке ('.'):
Это мой документ, который я сохраняю:
var user = new users({
userID: id, //give the id of the next user in Dbase
userName: userName,
userEmail: 'userEmail',
teams:{},
socialMedias: [{socialMediaType: socialMediaID}]
});
где userName, socialMediaType и socialMediaID — параметры функции.
Итак, после добавления этого документа я пытаюсь выполнить следующий запрос:
function searchUser(socialMediaID, socialMediaType){
var user
users.findOne({socialMedias.socialMediaType: socialMediaID}, function(err, userFound){
if(err) return handleError(err);
user = userFound;
});
//what does MongoDb return if it does not find the document?
return user;
}
но я получаю ошибку в этом:
socialMedias.socialMediaType
Итак, как я могу выполнить этот запрос?
Я пытался найти в документации Mongoose, но не нашел.
Спасибо за Ваше понимание.
{"socialMedias.socialMediaType": socialMediaID }
. - person Jonathan Lonowski   schedule 14.07.2014'Joe\'s'
против"Joe's"
. В остальном они идентичны. - person Jonathan Lonowski   schedule 16.07.2014