2016-07-03 1 views
0

clips - это массив внутри документа User. Каждый элемент clips имеет номер _id. Я могу получить доступ к массиву следующим образом:Mongoose get элементы в массиве после определенного элемента

User 
     .findById(req.user._id) 
     .select('clips') 
     .exec((err, user) => { 
     ... 

Однако, я не хочу, чтобы получить весь clips массив. Я хочу, чтобы иметь возможность передать _id где-то в select() и получить все элементы в массиве, которые вставлены после элемента с указанным _id. Возможно ли это в мангусте?

ответ

0

Думаю, что так! Я действительно делаю что-то подобное, используя язык запросов mongo. Попробуйте сделать что-то наподобие

find({'_id'{$gt:req.user.id}}).

Он должен выглядеть примерно так!

Это должно найти каждый идентификатор пользователя, созданный после этого идентификатора.

Вот что нужно делать с документами mongooose, если это поможет!

http://mongoosejs.com/docs/queries.html

+0

Я пытаюсь '.select ('') клипы найти ({ '_id': { '$': GT req.body.clipId}}).'. Однако, похоже, он ничего не нашел. Могу ли я использовать другой 'find()' после 'select()'? – MrSnappingTurtle

+0

Попробуйте использовать способ где? Итак, .where (клипы), затем найдите $ gt? Или, может быть, $ in? https://docs.mongodb.com/manual/reference/operator/query/in/ – WheepWhoop

 Смежные вопросы

  • Нет связанных вопросов^_^