Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
集合内MongoDB jsonarray长度_Mongodb_Mongodb Query - Fatal编程技术网

集合内MongoDB jsonarray长度

集合内MongoDB jsonarray长度,mongodb,mongodb-query,Mongodb,Mongodb Query,我在MongoDB中收集了一些文档,每个文档都在下面的表格中 {“\u id”:{“$oid”:“4c6d8”},“描述”:“问题”,“姓名”:[“A”,“B”,“C”,“D”,“E”]} 我要数一数名字 MongoClient mongoClient = new MongoClient(uri); DB database = mongoClient.getDB(databasename); DBCollection collection = database.getCollection(tab

我在MongoDB中收集了一些文档,每个文档都在下面的表格中
{“\u id”:{“$oid”:“4c6d8”},“描述”:“问题”,“姓名”:[“A”,“B”,“C”,“D”,“E”]}
我要数一数名字

MongoClient mongoClient = new MongoClient(uri);
DB database = mongoClient.getDB(databasename);
DBCollection collection = database.getCollection(tablename);
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put("description", "QUESTION");
DBCursor cursor = collection.find(whereQuery);
try {
while(cursor.hasNext()) {  
System.out.println(cursor.next())
}
} finally {
cursor.close();
}

我不知道如何计算姓名。预期结果-“5”

我不是一名编写Java代码的Java开发人员,但以下是在MongoDB查询编辑器中工作的查询。请将此查询插入代码并签出

db.collection.aggregate([
  {
    $match: {
      "description": "QUESTION"
    }
  },
  {
    $project: {
      NumberOfItemsInArray: {
        $size: "$names"
      }
    }
  }
])
结果

[
  {
    "NumberOfItemsInArray": 5
  }
]

谢谢你@JBoneion。我需要在Java代码中为我的implementation@novice我还以为你是Java开发人员呢。如果没有其他人回答这个问题,那么接受这个查询并将其发布到Java组中,询问
如何将这个查询插入Java
。也许这会给你一些答案。现在,您只标记了
mongodb
,所以
java
组将无法看到它。如果您计划在
java
组中提问,请在下一个问题中将标记更改为
java
。我试过了。