MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB - $addToSet na liście dokumentów osadzonych

$addToSet korzysta ze zwykłych zasad równości mongodb :przeprowadzi głębokie porównanie wartości po wartości, więc następujące dwa dokumenty są identyczne:

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

(kolejność w dokumentach nie jest gwarantowane , więc są identyczne)

podczas gdy te nie są (w parach):

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

Należy pamiętać, że nie ma tu specjalnego pola. Możesz dodać _id pole, ale nie ma specjalnej semantyki i będzie traktowane jak każde inne pole.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zwrócić tylko określone pola dla zapytania w Spring Data MongoDB?

  2. Błąd aktualizacji MongoDB 2.6

  3. Statystyki w czasie rzeczywistym:MySQL(/Drizzle) czy MongoDB?

  4. Mongo group pyta, jak zachować pola

  5. Docker:łączenie kontenera Spring Boot z kontenerem Mongo DB