使用 MongoDB 查詢陣列的最後一個物件
若要查詢陣列的最後一個物件,請使用集合的 aggregate() 方法。我們使用文件建立集合,如下所示 −
> db.demo103.insertOne( { "Details" : [
{ "StudentId" : 101, "Details" : "MongoDB" },
{"StudentId" : 102, "Details" : "MySQL" },
{ "StudentId" : 103, "Details" : "Java" }
], "Details1" : [ { "StudentId" : 104, "Number" : 3 } ] } );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2ed2dd9fd5fd66da21446e")
}藉助 find() 方法顯示集合中的所有文件,如下所示 −
> db.demo103.find();
得到如下輸出 −
{ "_id" : ObjectId("5e2ed2dd9fd5fd66da21446e"), "Details" : [ { "StudentId" : 101, "Details" : "MongoDB" }, { "StudentId" : 102, "Details" : "MySQL" }, { "StudentId" : 103, "Details" : "Java" } ], "Details1" : [ { "StudentId" : 104, "Number" : 3 } ] }以下是如何在陣列中查詢最後一個物件 −
> db.demo103.aggregate([ { $project: { Details1: 1, Details: {$arrayElemAt: ["$Details", -1]} } }, { $match: {"Details.StudentId": 103} } ])得到如下輸出 −
{ "_id" : ObjectId("5e2ed2dd9fd5fd66da21446e"), "Details1" : [ { "StudentId" : 104, "Number" : 3 } ], "Details" : { "StudentId" : 103, "Details" : "Java" } }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP