sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag implementera behörigheter på fältnivå för MongoDB?

Precis som i MongoDB 3.4 går granulariteten i den inbyggda åtkomstkontrollen bara så långt som åtkomstkontroll på samlingsnivå.

Du kan till exempel skapa en användardefinierad roll som begränsar privilegier för en samling:

privileges: [
  { resource: { db: "db_ANIMAL", collection: "tb_BIRD" },  actions: [ "find", "update" ] }
]

För att begränsa skrivskyddad åtkomst till en delmängd av insamlingsdata kan du överväga att använda den nya Views-funktionen i MongoDB 3.4 eller implementera fältnivåredigering med $redact aggregeringssteg (MongoDB 2.6+).

Om du behöver mer detaljerad åtkomstkontroll för uppdateringar på fältnivå måste du för närvarande implementera detta i din API eller applikationskod.

Det finns några relevanta funktionsförfrågningar som du kanske vill titta på/rösta upp i MongoDB issue tracker:

  • SERVER-648:åtkomstkontroll på dokumentnivå
  • SERVER-27698:Materialiserade vyer


  1. Hur frågar jag inifrån Mongoose pre hook i en Node.js / Express-app?

  2. mongo-kommandot känns inte igen när man försöker ansluta till en mongodb-server

  3. Mongoid Group By eller MongoDb group by in rails

  4. MongoDB, ta bort objekt från array