sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan vælger man et mongo-underdokument efter id med mongoose?

Ifølge vores diskussion fandt vi årsagen til

db.locations.update({ name: 'Starcups' }, 
                    { $push: { 
                         reviews: { 
                            author: 'Simon Holmes', 
                            id: ObjectId(), // issue is here
                            rating: 5, ... } } })

id: ObjectId() vil oprette id felt i underdokumentet og uden _id feltet i reviews underdokument.

id() metode bruges til at dokumentereArrays har et særligt id metode til at slå et dokument op ved dets _id . Da der ikke er nogen _id felt i reviews dokumentarray, fungerer det ikke godt.

Fjern venligst id: ObjectId() fra din kode.



  1. Golang mgo får tomme objekter

  2. Migrer data fra PostgreSQL til MongoDB

  3. Kører redis på nodejs Docker-billede

  4. Begrænser du resultater i MongoDB, men får du stadig hele optællingen?