mongodb查询锂命令

时间:2013-01-21 10:18:08

标签: mongodb aggregation-framework mongodb-php lithium

db.users.aggregate(
    {$match : 
        {"_id" : ObjectId("50f69176904e1d66affec20d")}
    }, 
    {$unwind : "$connections"}, 
    {$match : 
        {$or : [
            {"connections.users" : {$exists : false}}, 
            {"connections.users.id" : "50f651b8b58bba7fbec2f223"}
        ]}},
    {$group : {_id : "$connections.group"}}
)

这里我找到了特定用户所在的组名。我在mongodb shell中得到了正确的结果。现在我必须在锂框架中使用它。请帮我一下这个命令。 有关集合结构,请参阅以下链接:http://pastebin.com/P8uMw9cj

2 个答案:

答案 0 :(得分:1)

你可以像这样运行任意命令:

$files = Files::connection()->connection->command(array("geoNear" => "fs.files", "near" => $coords, "maxDistance" => 1));

你会明显地使用Users :: connection(),但是在聚合方面也有一些改进,但不确定它们是否在主分支中。

您还可以在此处看到一个带聚合的演示应用:https://github.com/jmikola/li3-mongodb-aggregation-demo/blob/master/app/controllers/DemoController.php,可以帮助您开始使用。

答案 1 :(得分:0)

你应该阅读Tom Maiaroto的文章"MongoDB Aggregation of all Shapes and Sizes"

它涵盖了Map / Reduce,Grouping和New Aggregation Framework