MongoDB 查詢來連線陣列值和其它欄位
要在 MongoDB 中連線,請在 $project 中使用 $concat。讓我們建立一個包含文件的集合:
> db.demo359.insertOne(
... {
...
... Name1: "Chris",
... Name2: "David",
... Subjects: ["MySQL","MongoDB","Java"]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e5694cdf8647eb59e5620d0")
}使用 find() 方法顯示集合中的所有文件:
> db.demo359.find().pretty();
這將生成以下輸出:
{
"_id" : ObjectId("5e5694cdf8647eb59e5620d0"),
"Name1" : "Chris",
"Name2" : "David",
"Subjects" : [
"MySQL",
"MongoDB",
"Java"
]
}以下是用來連線陣列值與其它欄位的查詢:
> db.demo359.aggregate([
... {
... $project: {
... values: {
... $reduce: {
... input: '$Subjects',
... initialValue: '',
... in: {
... $concat: ['$$value',' ','$$this']
... }
... }
... },
... Name1: 1
... }
... },
... {
... $project: {
... 'ConcatResult': { '$concat': [ '$Name1', '$values'] }
... }
... }
... ])
{ "_id" : ObjectId("5e5694cdf8647eb59e5620d0"), "ConcatResult" : "Chris MySQL MongoDB Java" }這將生成以下輸出:
{ "_id" : ObjectId("5e5694cdf8647eb59e5620d0"), "ConcatResult" : "Chris MySQL MongoDB Java" }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP