sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - $addToSet på en lista över inbäddade dokument

$addToSet använder de vanliga mongodbs jämställdhetsregler :det kommer att göra en djupgående jämförelse av värde för värde, så följande två dokument är identiska:

{ name: "John", hobbies: ["coding", "drinking", "chess"] }
{ hobbies: ["coding", "drinking", "chess"], name: "John" }

(beställ i dokument inte garanteras , så de är identiska)

medan de inte är det (parvis):

// compare to:
{ name: "John", hobbies: ["chess", "coding", "drinking"] } 

// in arrays, the order matters:
{ name: "John", hobbies: ["coding", "drinking", "chess"] } 

// field names and values are case sensitive
{ Name: "John", hobbies: ["chess", "coding", "drinking"] } 
{ name: "john", hobbies: ["chess", "coding", "drinking"] } 

// additional field:
{ name: "John", lastName: "Doe", hobbies: ["chess", "coding", "drinking"] }

// missing field:
{ name: "John" }

Observera att det inte finns något specialfält här. Du kan lägga till ett _id fält, men det har ingen speciell semantik och kommer att behandlas precis som alla andra fält.




  1. django:redis:CommandError:Du har inte ställt in ASGI_APPLICATION, som behövs för att köra servern

  2. Lagra lösenord med Node.js och MongoDB

  3. Rensa användarinmatning i Mongoose

  4. MongoDB:automatiskt genererade ID är nollor