在 MongoDB 中查询内部数组大小?
在 MongoDB 中,你可以使用 $size 运算符来获取内部数组大小。语法如下
db.internalArraySizeDemo.aggregate(
[
{
$group: {
_id:yourObjectIdValue,
anyFieldName: {$first: {$size: "$yourArrayName" }}
}
}
]
);为了理解以上语法,让我们使用一些文档创建一个集合。使用文档创建集合的查询如下
>db.internalArraySizeDemo.insertOne({"EmployeeName":"Mike","EmployeeTechnology":["Jav
a Web Development","Python Web Development"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6eff586fd07954a48906b2")
}
> db.internalArraySizeDemo.insertOne({"EmployeeName":"Sam","EmployeeTechnology":["C
with Graphics","Game Development with C++ Language","MatLab"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c6effcd6fd07954a48906b3")
}通过 find() 方法展示集合中的所有文档。查询如下
> db.internalArraySizeDemo.find().pretty();
以下是输出
{
"_id" : ObjectId("5c6eff586fd07954a48906b2"),
"EmployeeName" : "Mike",
"EmployeeTechnology" : [
"Java Web Development",
"Python Web Development"
]
}
{
"_id" : ObjectId("5c6effcd6fd07954a48906b3"),
"EmployeeName" : "Sam",
"EmployeeTechnology" : [
"C with Graphics",
"Game Development with C++ Language",
"MatLab"
]
}以下是使用 $size 运算符获取内部数组大小的查询
> db.internalArraySizeDemo.aggregate(
... [
... {
... $group: {
... _id:ObjectId("5c6eff586fd07954a48906b2"),
... EmployeeTechnology_count: {$first: {$size: "$EmployeeTechnology" }}
... }
... }
... ]
... );以下是输出
{ "_id" : ObjectId("5c6eff586fd07954a48906b2"), "EmployeeTechnology_count" : 2 }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP