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

別のフィールドの値を使用してMongoDBフィールドを更新しますか?


集計関数を使用して、別のフィールドの値を使用してMongoDBフィールドを更新できます。ここでは、2つのコレクションを作成します。

  • 名前

  • 学生情報

コレクション

ドキュメントを使用して最初のコレクションを作成するためのクエリは次のとおりです。

> db.name.insert({"FirstName":"John","LastName":"Smith"});
WriteResult({ "nInserted" : 1 })

これで、find()メソッドを使用して、コレクションのすべてのドキュメントを表示できます。クエリは次のとおりです。

> db.name.find().pretty();

以下は、コレクションの「名前」ドキュメントを表示する出力です。

{
   "_id" : ObjectId("5c6c00dd68174aae23f5ef55"),
   "FirstName" : "John",
   "LastName" : "Smith"
}

コレクション

ドキュメントを使用して2番目のコレクションを作成するためのクエリは次のとおりです。

> db.studentInformation.insert({"StudentFirstName":"Carol","StudentLastName":"Taylor"});
WriteResult({ "nInserted" : 1 })

これで、find()メソッドを使用して、コレクションのすべてのドキュメントを表示できます。クエリは次のとおりです。

> db.studentInformation.find().pretty();

出力は次のとおりです。

{
   "_id" : ObjectId("5c6c013068174aae23f5ef56"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor"
}

次に、コレクション「name」を別のコレクション「studentInformation」で更新しましょう。クエリは次のとおりです。

> db.studentInformation.aggregate( [
   {"$addFields":{"FullName":{"$concat":["$StudentFirstName"," ","$StudentLastName"]} }},
   {"$out":"name"} ] );

これで、コレクション「名前」のドキュメントを確認できます。クエリは次のとおりです。

> db.name.find().pretty();

以下は、フィールドが正常に更新されたことを示す出力です。

{
   "_id" : ObjectId("5c6c013068174aae23f5ef56"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor",
   "FullName" : "Carol Taylor"
}

  1. MongoDBコレクションを配列値で並べ替えますか?

    MongoDBコレクションを配列値で並べ替えるには、$ sortとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo577.insertOne( ...    { ... ...       "student": { ...          "details": [ ...             { ...   &

  2. コレクション内のドキュメントの各フィールドを数式で更新するMongoDBクエリ?

    コレクション内のドキュメントの各フィールドを数式で更新するには、MongoDB update()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo749.insertOne({"details":[{"id":1,a:10},{"id":2,a:5},{"id":3,a:20}]}); {    "acknowledged" : true,    "insertedId" : ObjectId(