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

ドット表記を使用したMongoDBクエリ内のフィールド選択?


このために、MongoDB find()のフィールド選択にドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo302.insertOne({"Id":101,"details":[{"Name":"Chris",Age:21,"Subject":"MySQL"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d746f5d93261e4bc9ea52")
}
> db.demo302.insertOne({"Id":102,"details":[{"Name":"Bob",Age:23,"Subject":"MongoDB"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d74815d93261e4bc9ea53")
}
> db.demo302.insertOne({"Id":103,"details":[{"Name":"David",Age:20,"Subject":"Java"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d74955d93261e4bc9ea54")
}

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

> db.demo302.find();

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

{ "_id" : ObjectId("5e4d746f5d93261e4bc9ea52"), "Id" : 101, "details" : [ { "Name" : "Chris", "Age" : 21, "Subject" : "MySQL" } ] }
{ "_id" : ObjectId("5e4d74815d93261e4bc9ea53"), "Id" : 102, "details" : [ { "Name" : "Bob", "Age" : 23, "Subject" : "MongoDB" } ] }
{ "_id" : ObjectId("5e4d74955d93261e4bc9ea54"), "Id" : 103, "details" : [ { "Name" : "David", "Age" : 20, "Subject" : "Java" } ] }
>

以下は、ドット表記を使用したフィールド選択のクエリです-

>db.demo302.find({"details.Subject":"MongoDB"},{"details.Name":0,"details.Age":0,_id:0,Id:0});

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

{ "details" : [ { "Subject" : "MongoDB" } ] }

  1. idがドキュメントフィールドの配列値と等しい場合に除外するMongoDBクエリ

    このために、$inと一緒に$notを使用します。ドキュメントを使用してコレクションを作成しましょう- [    {       id: "101",       subjectid: [          "102"       ]    },    {       id: "102",   &nb

  2. 単純なクエリを使用してMongoDBでドキュメントをフィルタリングしますか?

    $matchを使用できます。 $ matchはドキュメントをフィルタリングして、指定された条件に一致するドキュメントのみを次のパイプラインステージに渡します。ドキュメントを使用してコレクションを作成しましょう- > db.demo629.insertOne( ...    { ... ...       "Subject": [ ...          "MySQL", ...          &