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

特定のフィールドで構成されていないMongoDBドキュメントを選択するにはどうすればよいですか?


MongoDB$existsを使用して特定のフィールドを確認します。そのフィールドがドキュメントに存在しない場合は、find()を使用して同じドキュメントを表示する必要があります。

ドキュメントを使用してコレクションを作成しましょう-

> db.demo612.insertOne({id:1,"Info":[{Name:"Chris",Age:21},{Name:"David"}]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e987372f6b89257f5584d87")
}

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

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

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

{
   "_id" : ObjectId("5e987372f6b89257f5584d87"),
   "id" : 1,
   "Info" : [
      {
         "Name" : "Chris",
         "Age" : 21
      },
      {
         "Name" : "David"
      }
   ]
}

以下は、特定のフィールドで構成されていないMongoDBドキュメントをフェッチするためのクエリです-

> db.demo612.aggregate({$unwind: "$Info"},
... {$match: {"Info.Age":{$exists: false}}},
... {$project: {"Info.Name": 1}})

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

{ "_id" : ObjectId("5e987372f6b89257f5584d87"), "Info" : { "Name" : "David" } }

  1. テーブルBに存在しないMySQLテーブルAから選択するにはどうすればよいですか?

    IN演算子を使用して、別のテーブルに存在しないテーブルから選択できます。上記の構文を理解するために、テーブルを作成しましょう。 最初のテーブル名はA、2番目のテーブル名はBです。テーブルを作成するためのクエリは次のとおりです mysql> create table A    -> (    -> Value int    -> ); Query OK, 0 rows affected (0.56 sec) これで、挿入コマンドを使用してテーブルにいくつかのレコードを挿入できます。 クエリは次のとおりです

  2. MySQLにnullレコードがないデータを選択するにはどうすればよいですか?

    null以外のレコードを選択するには、ISNOTNULLプロパティを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1792      (      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1792 values('John