sql >> Database >  >> NoSQL >> MongoDB

MongoDB Embedded Objects hebben geen ID (null-waarde)

MongoDB CRUD-bewerkingen (insert , update , find , remove ) werken allemaal uitsluitend op documenten op het hoogste niveau, hoewel u natuurlijk kunt filteren op velden in ingesloten documenten. Ingesloten documenten worden altijd geretourneerd in het bovenliggende document.

De _id veld is een verplicht veld van het bovenliggende document en is meestal niet nodig of aanwezig in ingesloten documenten. Als u een unieke identificatiecode nodig heeft, kunt u deze zeker aanmaken en mag u de _id gebruiken veld om ze op te slaan als dat handig is voor je code of je mentale model; meestal zijn ze vernoemd naar wat ze vertegenwoordigen (bijvoorbeeld "gebruikersnaam", "andere systeemsleutel", enz.). Noch MongoDB zelf, noch een van de stuurprogramma's zal automatisch een _id . invullen veld behalve in het document op het hoogste niveau.

Specifiek in Java, als u ObjectId-waarden wilt genereren voor de _id veld in ingesloten documenten, kunt u dit doen met:

someEmbeddedDoc._id = new ObjectId();


  1. Hoe u de dag, maand en jaar van een datum in SQL kunt krijgen

  2. Update veld in exacte elementarray in MongoDB

  3. Een item uit de array verwijderen met het MongoDB-Java-stuurprogramma

  4. Laravel alle sessie-ID's met Redis-stuurprogramma