2014-02-05 15 views
8

Ich arbeite an einer Anwendung, die node.js MongoDB und ich lese diese aus dem docs verwendet:Was ist MongoDBs strikter Modus und ist es eine gute Idee zu verwenden?

db.collection

Holt eine bestimmte Sammlung (mit der aktuellen Kollektion Informationen). Wenn die Anwendung den strikten Modus nicht verwendet, können Sie sie wie folgt ohne Rückruf verwenden.

var collection = db.collection('mycollection');

Zunächst einmal, was 'Strict-Modus' ist das doc zu beziehen?

Ist es auch eine schlechte Praxis, die Kollektion auf diese Weise zu greifen? Ohne den Rückruf würde ich nicht die Fähigkeit verlieren, einen möglichen Verbindungsfehler zu erfassen, wenn ich versuche, die richtige Sammlung auszuwählen?

db.collection('some_collection', function(err, collection) { 
    // query goes here 
}); 
+1

Wenn ich sah den Quellcode für diese strenge tatsächlich stellt sicher, Sammlungen usw. sind da, bevor sie zurück, das ist gut, wenn Sie einige Klausel in Ihrer App haben, die die Alternative zu einer Sicherheitsbedrohung macht ich denke – Sammaye

Antwort

9

http://mongodb.github.io/node-mongodb-native/api-generated/db.html#collection

strenge, (Boolean, default: false) gibt einen Fehler zurück, wenn die Sammlung existiert nicht

Genau dort in der Dokumentation.

Das ist dort, also Ihre Anwendung möglicherweise nicht neue Sammlungen selbst erstellen und kann nur verweisen, was zuvor erstellt wurde. Daher die Notwendigkeit für die Rückruf, um den Fehler zu fangen.

0

Es könnte sich auf den strikten Modus von Javascript anstelle einer Mongo spezifischen Eigenschaft beziehen. Strict-Modus ermöglicht es einige optionale aber rückwärts inkompatible Änderungen in der Javascript-Sprache, die einige Fehler fangen helfen:

What does "use strict" do in JavaScript, and what is the reasoning behind it?

+0

Ja, ich bin bewusst von Javascript's strikten Modus, aber nicht unbedingt, wie dies ändert, wie ich eine Mongo-Sammlung auswählen, noch, ob dies eine gute Idee ist. – doremi

Verwandte Themen