MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

配列の値を他のフィールドと連結するための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" }

  1. 値を持つ配列を指定して一致するドキュメントを検索するMongoDBクエリ?

    特定のドキュメントについては、MongoDB$inを使用してください。ドキュメントを使用してコレクションを作成しましょう- > db.demo511.insertOne({"ListOfProject":["Library Management System","Hospital Management System"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e

  2. MongoDBを使用して埋め込みドキュメントの配列でクエリをフィルタリングしますか?

    これには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo736.insertOne( ...    { ...       "_id": "101", ...       "details1": [ ...          { ...             &q