sql >> Databáze >  >> NoSQL >> MongoDB

Jak vybrat mongo subdokument podle id s mongoose?

Podle naší diskuse jsme hlavní příčinu našli

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

id: ObjectId() vytvoří id pole ve vnořeném dokumentu a bez _id pole v reviews vnořený dokument.

id() metoda se používá k documentArrays mají speciální id metoda pro vyhledání dokumentu podle jeho _id . Protože neexistuje žádné _id pole v reviews document array, nefunguje dobře.

Odstraňte prosím id: ObjectId() z vašeho kódu.



  1. Počet záznamů podle data MongoDB

  2. Potíže s odesíláním dat JSON (s požadavkem na uzel) na Express server pro uložení do MongoDB

  3. Udělat Meteor reaktivní na konkrétní podpoložku Meteor.user()

  4. Mongo Change Streams běžící vícekrát (druh):Aplikace Node spouští více instancí