在 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