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