【问题标题】:Meteor: Convert MongoDB server code for client side [closed]Meteor:为客户端转换 MongoDB 服务器代码 [关闭]
【发布时间】:2018-11-30 18:15:34
【问题描述】:

我可以使用此代码从流星 mongo 终端获取数据,但无法从客户端获取数据。我知道客户端站点需要不同的语法,但我是这个环境的新手。如何从客户站点拨打电话?谢谢

db.events.aggregate([
    { "$project": { 
         "year": { "$year": "$date" }, 
         "month": { "$month": "$date" },
         "day": { "$dayOfMonth": "$date" }

    }},
    { "$group": { 
        "_id": null, 
        "distinctDate": { "$addToSet": { "year": "$year", "month": "$month", "day": "$day" }}
    }}
])

【问题讨论】:

  • 这是一个非常特殊的 Meteor 案例,将 Minimongo 作为 Mongo-Collections 的客户端包装器。不幸的是,它的文档不足以揭示那里是否存在某个功能。 OP 希望上述命令能够工作(因为即使是复杂的查询也能工作),但事实并非如此。我认为这个问题没有问题。

标签: javascript reactjs mongodb meteor


【解决方案1】:

目前 Minimongo 不支持聚合。

不过你可以试试meteorhacks:aggregate

编辑

使用示例:

meteor 添加meteorhacks:aggregate 然后简单地使用.aggregate 函数 如下所示。

var metrics = new Mongo.Collection('metrics');
var pipeline = [
  {$group: {_id: null, resTime: {$sum: "$resTime"}}}
];
var result = metrics.aggregate(pipeline);

【讨论】:

  • @Fawzi 你能在这个包环境中转换我的代码吗?感谢您的回答。
  • 没那么难,和你的代码一样,但是用db.events.aggregate代替Events.aggregate([ { "$project": { "year": { "$year": "$date" }, ....)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多