Heim > Datenbank > MongoDB > Collection.find() gibt immer alle Felder in MongoDB zurück?

Collection.find() gibt immer alle Felder in MongoDB zurück?

WBOY
Freigeben: 2023-09-08 09:13:03
nach vorne
1134 Leute haben es durchsucht

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

Sie können die folgende Syntax verwenden, um ein bestimmtes Feld voncollection.find() zurückzugeben.

Fall 1 – Die Syntax lautet wie folgt:

db.yourCollectionName.find({},{"yourFieldName":1}).pretty();
Nach dem Login kopieren

Der obige Feldname ist auf 1 gesetzt, was bedeutet, dass nur dieses Feld zurückgegeben wird. Wenn es auf 0 gesetzt ist, werden alle Felder zurückgegeben, mit Ausnahme des Felds, das auf 0 gesetzt ist.

Fall 2 – Die Syntax lautet wie folgt:

db.yourCollectionName.find({},{"yourFieldName":0}).pretty();
Nach dem Login kopieren

Um die obige Syntax zu verstehen, erstellen wir eine Sammlung mit dem Dokument. Die Abfrage zum Erstellen einer Sammlung mithilfe von Dokumenten lautet wie folgt:

> 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")
}
Nach dem Login kopieren

Zeigen Sie alle Dokumente in der Sammlung mithilfe der Methode find() an. Die Abfrage lautet wie folgt: -

> db.returnFieldInFindDemo.find().pretty();
Nach dem Login kopieren
Nach dem Login kopieren

Unten ist die Ausgabe -

{
   "_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"
   ]
}
Nach dem Login kopieren
Nach dem Login kopieren

Fall 1 - Dies ist die Abfrage, bei der Sie ein bestimmtes Feld zurückgeben.

Die Abfrage lautet wie folgt:

> db.returnFieldInFindDemo.find().pretty();
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe:

{
   "_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"
   ]
}
Nach dem Login kopieren
Nach dem Login kopieren

Wenn ich mir die obige Beispielausgabe ansehe, habe ich das Feld „TechnicalSubject“ auf 1 initialisiert. Das bedeutet, dass von allen Dokumenten nur das Feld „TechnicalSubject“ zurückgegeben wird.

Fall 2

Fall 2

stark> – Wenn Sie im zweiten Fall das Feld „TechnicalSubject“ auf 0 setzen, bedeutet dies, dass Sie alle Felder außer „TechnicalSubject“ erhalten.

Die Abfrage lautet wie folgt:

> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();
Nach dem Login kopieren

Hier ist die Ausgabe:

{
   "_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
}
Nach dem Login kopieren

Fall 3 – Wie Sie wissen, werden alle Felder zurückgegeben, wenn Sie nur find() verwenden.

Die Abfrage lautet wie folgt:

> db.retunFieldInFindDemo.find();
Nach dem Login kopieren

Das Folgende ist die Ausgabe:

{ "_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" ] }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonCollection.find() gibt immer alle Felder in MongoDB zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage