sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur väljer man ett mongo-underdokument efter id med mongoose?

Enligt vår diskussion hittade vi grundorsaken av

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

id: ObjectId() skapar id fältet i underdokumentet och utan _id fältet i reviews underdokument.

id() metod används för att documentArrays har ett speciellt id metod för att slå upp ett dokument med dess _id . Eftersom det inte finns någon _id fältet i reviews document array, fungerar det inte bra.

Ta bort id: ObjectId() från din kod.



  1. Vad är det korrekta sättet att stänga mongo-anslutningen med spring-mongo?

  2. Hur hanterar man migrationer av mongoosescheman korrekt?

  3. mongoose/mongodb fråga flera sorter

  4. Ansluter till en fjärransluten mongoDB-server