2015-10-14 9 views
1

Я пытаюсь вставить различные элементы в коллекцию MongoDB, но я хочу, чтобы элемент был вставлен в верхней части массива, поэтому, когда вы извлекаете элементы коллекции, которые я могу получить их сортировали.Как вставить в коллекцию MongoDB с позицией

Я использую этот код:

var json = { title : title, postid : postid, image : image, decription : description}; 

     collection.insert(json, function (err, result) { 
    if (err) { 
    console.log(err); 
    } else { 
    console.log('Here we go', result.length, result); 
    } 


}); 

И этот код, чтобы получить элементы коллекции:

collection.find().toArray(function (err, result) { 
     if (err) { 
     console.log(err); 
     } else if (result.length) { 
      first_item = result[0].postid; 
     console.log('Found:',first_item); 

     } else { 
     } 
    db.close(); 
    }); 
    } 
}); 

вставить новые пункты каждые 10 минут, а когда я получить детали я хочу последний позиция, вставленная в позицию 0

ответ

1

Вы должны просто написать запрос для данных, которые вы хотите. $orderby operator сортирует данные по своему усмотрению.

collection.find({ $query: {}, $orderby: { postid: -1 } }); 

Если вы действительно просто нужен последний пункт, вы можете limit запрос к одному результату, а также. Обратите внимание, что в этой версии также используется sort function.

collection.find().sort({ postid: -1 }).limit(1); 
+0

Спасибо! он отлично работает –

+0

@YasserB. Рад, что смог помочь. Не забудьте принять ответ, если он вам поможет. –

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