Mongodb计算具有特定条件的字段数

时间:2018-11-27 19:55:15

标签: count azure-cosmosdb-mongoapi

这是我在数据库中拥有的数据:

  

{
      “ _id”:ObjectId(“ 5bf84d5eb6655873af59ead6”),
      “游戏”:1.0,
      “ action”:{
          “ actionType”:“ GameStart”,
          “ actionNumber”:0.0,
          “ Player1”:{
              “用户”:2.0,
              “名称”:“凯文”
          },
          “ Player2”:{
              “用户”:4.0,
              “ name”:“ Sue”
          }
      }
  }

问题是报告已开始游戏的总数。我尝试了此代码db.hw6.count({'action.actionType': "GameStart" }),但出现错误。我不知道我怎么做错了。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

请使用itcount()代替count来解决错误。

这是因为您使用的是Azure CosmosDB,而不是MongoDB。 count()适用于mongodb,但在您的情况下,您应该使用itcount(),它是CosmosDB的实现。

请参考mongodb文档。 https://docs.mongodb.com/manual/reference/method/cursor.itcount/

使用下面的错误将得到解决count() > ******

错误:计数失败:{“ _t”:“ OKMongoResponse”,“ ok”:0,“代码”:13,13,“ errmsg”:“无法使用PrimaryReadonlyMasterKey执行命令ExecuteJavaScript”,“ $ err”:“无法执行使用PrimaryReadonlyMasterKey命令ExecuteJavaScript”}:_getErrorWithCode@src/mongo/shell/utils.js:25:13 DBQuery.prototype.count@src/mongo/shell/query.js:383:11 DBCollection.prototype.count@src/mongo /shell/collection.js:1700:12 @(shell):