Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 流星聚集。蒙戈数据库_Mongodb_Meteor_Aggregation Framework - Fatal编程技术网

Mongodb 流星聚集。蒙戈数据库

Mongodb 流星聚集。蒙戈数据库,mongodb,meteor,aggregation-framework,Mongodb,Meteor,Aggregation Framework,我的mongo db中有以下数据: { "_id" : "uhNTGacKPbnykv99S", "text" : "Task1", "createdAt" : ISODate("2016-03-20T10:29:59.669Z"), "owner" : "RE349TrQXoBm32mbr", "username" : "AngryRoot", "private" : false, "checked" : false } { "_id" : "PsX7ZvyDoD26Kr78X", "text

我的mongo db中有以下数据:

{ "_id" : "uhNTGacKPbnykv99S", "text" : "Task1", "createdAt" : ISODate("2016-03-20T10:29:59.669Z"), "owner" : "RE349TrQXoBm32mbr", "username" : "AngryRoot", "private" : false, "checked" : false }
{ "_id" : "PsX7ZvyDoD26Kr78X", "text" : "Task2", "createdAt" : ISODate("2016-03-20T10:30:01.598Z"), "owner" : "RE349TrQXoBm32mbr", "username" : "AngryRoot", "private" : false, "checked" : false }
{ "_id" : "mXpPWJ93GjugNCyME", "text" : "Task3", "createdAt" : ISODate("2016-03-20T10:30:15.899Z"), "owner" : "FbcQxF9q5a3t3LG9i", "username" : "CandyOgre", "private" : false, "checked" : false }
{ "_id" : "WciNvRpZNAeiHNGhz", "text" : "Task4", "createdAt" : ISODate("2016-03-20T10:30:18.785Z"), "owner" : "FbcQxF9q5a3t3LG9i", "username" : "CandyOgre", "private" : false, "checked" : false }
使用
db.tasks.find()
从mongo控制台获取它

我想返回集合,其中来自当前所有者的任务将排在第一位

比如说。如果我以AngryRoot身份登录,我希望首先显示AngryRoot的任务,然后显示其他用户的其他任务。我想我需要使用聚合。已安装此软件包:

我所有的尝试都失败了,如果可以的话,请帮助我。 还有一个我需要汇总的文件:(在11 raw上)


感谢您为我花费时间

我对meteor没有控制权,但您完全可以使用聚合框架通过在聚合管道中缝合两个阶段来实现这一点

db.tasks.aggregate([
    // project a field showing if current user is owner
    {$project: 
      {text:1, createdAt:1, owner:1, username:1, private:1, checked:1, current: 
        {$eq: ["$username", "AngryRoot"]}
      }
    },
    // Sort stage: Brings documents on top with current = true
    {$sort: 
      {current:-1}
    },
    // Optional!. Remove field name 'current' induced in first stage
    {$project:
      {text:1, createdAt:1, owner:1, username:1, private:1, checked:1}
    } 
])
这应该打印记录(假设
AngryRoot
是当前用户)


但如何更好地组织在流星?我可以使用meteorhacks:aggregate包,但我只能在服务器上使用它。我应该为此或如何创建新方法吗?@Мааааааааааааааааа。但我想用一个单独的方法包装聚合并不是一个坏主意。
{ 
    "_id" : "uhNTGacKPbnykv99S", 
    "text" : "Task1", 
    "createdAt" : ISODate("2016-03-20T10:29:59.669+0000"), 
    "owner" : "RE349TrQXoBm32mbr", 
    "username" : "AngryRoot", 
    "private" : false, 
    "checked" : false
}
{ 
    "_id" : "PsX7ZvyDoD26Kr78X", 
    "text" : "Task2", 
    "createdAt" : ISODate("2016-03-20T10:30:01.598+0000"), 
    "owner" : "RE349TrQXoBm32mbr", 
    "username" : "AngryRoot", 
    "private" : false, 
    "checked" : false
}
{ 
    "_id" : "mXpPWJ93GjugNCyME", 
    "text" : "Task3", 
    "createdAt" : ISODate("2016-03-20T10:30:15.899+0000"), 
    "owner" : "FbcQxF9q5a3t3LG9i", 
    "username" : "CandyOgre", 
    "private" : false, 
    "checked" : false
}
{ 
    "_id" : "WciNvRpZNAeiHNGhz", 
    "text" : "Task4", 
    "createdAt" : ISODate("2016-03-20T10:30:18.785+0000"), 
    "owner" : "FbcQxF9q5a3t3LG9i", 
    "username" : "CandyOgre", 
    "private" : false, 
    "checked" : false
}