MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose schreibgeschützt ohne Schema

Wenn Sie Mongoose nur zum Lesen aus einer Sammlung verwenden, können Sie die Schemadefinition leer lassen.

Wenn Sie also eine schreibgeschützte Sammlung namens test hätten , so etwas wird funktionieren:

var Test = mongoose.model('Test', new Schema(), 'test');
Test.findOne({name: 'John'}, function(err, doc) { ... });

Oder fügen Sie für eine bessere Leistung lean() ein in Ihrer Abfragekette, wenn Sie keine der Modellinstanzfunktionen benötigen:

Test.findOne({name: 'John'}).lean().exec(function(err, doc) { ... });

Wenn Sie lean() nicht verwenden Sie müssen mit get auf die Eigenschaften des Dokuments zugreifen Methode; zum Beispiel:

doc.get('name') // instead of doc.name