如何使用MongoDB,Mongoose和NodeJS进行两次订购

时间:2019-05-30 05:49:14

标签: node.js mongodb mongoose

我有Product个文档的集合,每个文档都有一个createdAt字段。我想做一个Product.find({}).sort('createdAt'),然后随机化同一天创建的所有Product文档的顺序。举例来说,假设我有6个Product

{_id: 1, createdAt: '2019-01-01'}, 
{_id: 2, createdAt: '2019-01-01'}, 
{_id: 3, createdAt: '2019-01-01'}, 
{_id: 4, createdAt: '2019-01-02'}, 
{_id: 5, createdAt: '2019-01-02'}, 
{_id: 6, createdAt: '2019-01-02'}

可能产生的查询可能是:

{_id: 3, createdAt: '2019-01-01'}, 
{_id: 1, createdAt: '2019-01-01'}, 
{_id: 2, createdAt: '2019-01-01'}, 
{_id: 6, createdAt: '2019-01-02'}, 
{_id: 4, createdAt: '2019-01-02'}, 
{_id: 5, createdAt: '2019-01-02'}

或者可能是:

{_id: 1, createdAt: '2019-01-01'}, 
{_id: 2, createdAt: '2019-01-01'}, 
{_id: 3, createdAt: '2019-01-01'}, 
{_id: 4, createdAt: '2019-01-02'}, 
{_id: 5, createdAt: '2019-01-02'}, 
{_id: 6, createdAt: '2019-01-02'}

我真的不知道该如何开始,所以我无法发布有关我尝试过的代码。我知道要做的第一件事可能就是:

db.Product.find({}).sort('createdAt'),然后我觉得之后需要进行某种聚合查询。任何可能向我指出正确方向的文档也都很好!谢谢!

0 个答案:

没有答案