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

MongoDBに埋め込まれたドキュメントの配列をクエリし、別のドキュメントをプッシュしますか?


このために、更新と一緒に$pushを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo573.insertOne(
...    {
...       '_id' :101,
...       'SearchInformation' : [
...          {
...             'Site' : 'Facebook.com',
...             'NumberOfHits' : 100
...          },
...          {
...             'Site' : 'Twitter.com',
...             'NumberOfHits' : 300
...          }
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 101 }

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo573.find();

これにより、次の出力が生成されます-

{ "_id" : 101, "SearchInformation" : [ { "Site" : "Facebook.com", "NumberOfHits" : 100 }, { "Site" : "Twitter.com", "NumberOfHits" : 300 } ] }

以下は、MongoDBに埋め込まれたドキュメントの配列をクエリする方法です-

> db.demo573.update({
...    _id: 101,
...    "SearchInformation.Site": {
...       $nin: ["Google.com"]
...    }
... }, {
...    $push: {
...       "SearchInformation": {
...          'Site' : 'Google.com',
...          'NumberOfHits' : 10000
...       }
...    }
... });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

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

これにより、次の出力が生成されます-

{
   "_id" : 101,
   "SearchInformation" : [
      {
         "Site" : "Facebook.com",
         "NumberOfHits" : 100
      },
      {
         "Site" : "Twitter.com",
         "NumberOfHits" : 300
      },
      {
         "Site" : "Google.com",
         "NumberOfHits" : 10000
      }
   ]
}

  1. 配列フィールドを含むドキュメントに一致するMongoDBクエリ

    配列フィールドを含むドキュメントを照合するには、$elemMatch演算子を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo592.insertOne( ...    { ...       "id":101, ...       "details" : [ ...          { "Name" : "Chris", "Value

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

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