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

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

WBOY
WBOYnach vorne
2023-09-08 09:13:031135Durchsuche

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();

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();

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")
}

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

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

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"
   ]
}

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

Die Abfrage lautet wie folgt:

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

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"
   ]
}

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();

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
}

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

Die Abfrage lautet wie folgt:

> db.retunFieldInFindDemo.find();

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" ] }

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen