Выборочная находка в мангусте
СХЕМА ПОЛЬЗОВАТЕЛЯ:
{
friends: [{
user_id: {type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User'},
name: {type: String, required :true},
age: {type: Number, required: true}
}],
privacy_settings : {
visibility : {type : Number, enum: [0,1,2]},
permission : {type : Number, enum : [0,1]},
}
}
Выше находится подраздел пользовательской схемы. Я хочу отфильтровать друзей, чей идентификатор пользователя не существует. Прямо сейчас я получаю:
QUERY RESULT:
friends:
[ {},
{},
{},
{},
{},
{ user_id: 570f733f0e3fbfb7690b2384 },
{},
{},
{ user_id: 570f52b30e3fbfb7690b09f4 },
{},
{},
{},
{ user_id: 570f57490e3fbfb7690b0afe },
{ user_id: 571072576952b11f0320f324 } ],
Проблема в том, что я не хочу этих {}
просто данные где user_id
существует.
QUERY USED
user.findOne(
{_id: some_mongoose_id},
{'friends.userid privacy_settings'}, function(err,result){
console.log(err,result);
}
)
Как я могу пойти по этому поводу?
1 ответ
Попробуй это:
user.find({"friends.user_id" : {$ne : null}},function(err,data){
if(data){
//console.log(data);
}
});