我使用ObjCMongoDB库来支持一个简单的iPad应用程序。我了解基本的CRUD操作以及使用-[MongoConnection runCommandWithDictionary:onDatabaseName:error:]执行数据库命令(如findAndModify )。
对于聚合框架或一般的聚合,我似乎可以通过以下方式执行简单的数据库命令(如count ):
NSDictionary *commandDict = @{@"count": @"myCollection"}:
[myMongoConnection runCommandWithDictionary:commandDict onDatabaseName:@"myDB" error:&err];是否有可能执行更复杂的命令/查询(如这里的例子 )?我试了一下,但没有结果。
NSDictionary *commandDict = @{@"aggregate":@"myCollection", @"query": @{@"group":@"myDocType"}};我仍然在学习Obj和MongoDB,所以如果这是一个不知情的问题,我很抱歉。
发布于 2013-08-04 05:47:46
聚合命令的语法似乎不正确。
请参阅聚合文档中的示例
db.runCommand(
{ aggregate : "article", pipeline : [
{ $project : {
author : 1,
tags : 1,
} },
{ $unwind : "$tags" },
{ $group : {
_id : "$tags",
authors : { $addToSet : "$author" }
} }
] }
);如果从命令行运行Mongo,则可以直接在那里测试命令,然后再用Objective编写它。
https://stackoverflow.com/questions/18034849
复制相似问题