Любой знает почему nextEventMatchingMask:untilDate:inMode:dequeue: возьмите многих мс для возврата события?

  1. Используйте $project для сохранения tag и count в tmp
  2. Используйте $push или addToSet для сохранения tmp в вашем списке data.

Код:

db.test.aggregate(
    {$unwind: '$tags'}, 
    {$group:{_id: '$tags', count:{$sum:1}}},
    {$project:{tmp:{tag:'
  1. Используйте $project для сохранения tag и count в tmp
  2. Используйте $push или addToSet для сохранения tmp в вашем списке data.

Код:

[110]

Выход:

{
    "result" : [
            {
                    "_id" : null,
                    "total" : 5,
                    "data" : [
                            {
                                    "tag" : "SOME",
                                    "count" : 1
                            },
                            {
                                    "tag" : "RANDOM",
                                    "count" : 2
                            },
                            {
                                    "tag" : "TAGS1",
                                    "count" : 1
                            },
                            {
                                    "tag" : "TAGS",
                                    "count" : 1
                            },
                            {
                                    "tag" : "SOME1",
                                    "count" : 1
                            }
                      ]
              }
      ],
      "ok" : 1
}
id', count:'$count'}}}, {$group:{_id:null, total:{$sum:1}, data:{$addToSet:'$tmp'}}} )

Выход:

{
    "result" : [
            {
                    "_id" : null,
                    "total" : 5,
                    "data" : [
                            {
                                    "tag" : "SOME",
                                    "count" : 1
                            },
                            {
                                    "tag" : "RANDOM",
                                    "count" : 2
                            },
                            {
                                    "tag" : "TAGS1",
                                    "count" : 1
                            },
                            {
                                    "tag" : "TAGS",
                                    "count" : 1
                            },
                            {
                                    "tag" : "SOME1",
                                    "count" : 1
                            }
                      ]
              }
      ],
      "ok" : 1
}
7
задан 12 June 2009 в 04:41
поделиться

1 ответ

Навскидку, я не знаю, почему метод так долго возвращается. Это заслуживает внимания на списке разработчиков какао или на другом форуме Apple. Я полагаю, что управлять событиями самостоятельно - плохая идея - AppKit оптимизирован для этого, и вы можете спокойно поспорить, что он будет намного быстрее, чем собранный вместе собственный код.

Однако есть кое-что, что вы можете сделать, чтобы сохранить это не повлияет на вашу игру: поместите его в отдельный поток. Это предлагаемый подход, чтобы ваш пользовательский интерфейс не зависал во время длительного вызова метода. Apple опубликовала Введение в руководство по программированию потоков , которое поможет вам быстро освоить важные концепции, которые вам понадобятся.

1
ответ дан 7 December 2019 в 14:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: