ホームページ > データベース > モンゴDB > Collection.find() は常に MongoDB 内のすべてのフィールドを返しますか?

Collection.find() は常に MongoDB 内のすべてのフィールドを返しますか?

WBOY
リリース: 2023-09-08 09:13:03
転載
1131 人が閲覧しました

collection.find() 总是返回 MongoDB 的所有字段?

次の構文を使用して、collection.find() から特定のフィールドを返すことができます。

ケース 1 - 構文は次のとおりです -

db.yourCollectionName.find({},{"yourFieldName":1}).pretty();
ログイン後にコピー

上記のフィールド名を 1 に設定すると、そのフィールドのみが返されることを意味します。 0 に設定すると、0 に設定されたフィールドを除くすべてのフィールドが返されます。

ケース 2 - 構文は次のとおりです -

db.yourCollectionName.find({},{"yourFieldName":0}).pretty();
ログイン後にコピー

上記の構文を理解するために、ドキュメントを使用してコレクションを作成してみましょう。ドキュメントを使用してコレクションを作成するクエリは次のとおりです。 -

> db.returnFieldInFindDemo.insertOne({"StudentName":"John","StudentAge":23,"TechnicalSubject":["MongoDB","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebfe72f684a30fbdfd566")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Mike","StudentAge":24,"TechnicalSubject":["Java","Python"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebffd2f684a30fbdfd567")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Sam","StudentAge":22,"TechnicalSubject":["C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec00f2f684a30fbdfd568")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Carol","StudentAge":20,"TechnicalSubject":["DataStructure","Algorithm"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec0292f684a30fbdfd569")
}
ログイン後にコピー

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

> db.returnFieldInFindDemo.find().pretty();
ログイン後にコピー
ログイン後にコピー

次は出力です -

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}
ログイン後にコピー
ログイン後にコピー

ケース 1 - これは特定のフィールドを返すクエリです。

クエリは次のとおりです -

> db.returnFieldInFindDemo.find().pretty();
ログイン後にコピー
ログイン後にコピー

出力:

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}
ログイン後にコピー
ログイン後にコピー

上記の出力例を見ると、「TechnicalSubject」フィールドが 1 に初期化されています。これは、すべてのドキュメントから「TechnicalSubject」フィールドのみを返すことを意味します。

ケース 2

ケース 2

Strong> - 2 番目のケースでは、「TechnicalSubject」フィールドを 0 に設定すると、すべてを取得することになります。 「TechnicalSubject」を除くフィールド。

クエリは次のとおりです -

> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();
ログイン後にコピー

次は出力です:

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20
}
ログイン後にコピー

ケース 3 - ご存知のとおり、find( ) すると、すべてのフィールドが返されます。

クエリは次のとおりです -

> db.retunFieldInFindDemo.find();
ログイン後にコピー

出力は次のとおりです:

{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] }
{ "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] }
{ "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }
ログイン後にコピー

以上がCollection.find() は常に MongoDB 内のすべてのフィールドを返しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート