interroger une collection sans passer le schéma en mangouste
Si je comprends bien, que si je veux interroger une collection, j'ai effectuer les opérations suivantes:
var mongoose = require("mongoose");
mongoose.connect();
var db = mongoose.connection;
db.on('open', function callback () {
var kittySchema = mongoose.Schema({
name: String
})
var Kitten = mongoose.model('Kitten', kittySchema)
Kitten.find(function (err, kittens) {
console.log(kittens);
})
});
Dois-je spécifier le schéma à chaque fois, même quand il y a déjà une collection de chatons?
Pourquoi je ne peux pas faire quelque chose comme db.Kittens.find()
?
source d'informationauteur user2422960
Vous devez vous connecter pour publier un commentaire.
De la Mangouste page d'accueil:
Mangouste ne peut pas déduire à partir d'une collection de potentiellement des documents uniques d'un schéma. MongoDB ne pas appliquer le schéma sur les documents qui sont stockés dans une collection.
Donc, la Mangouste en rajoute une couche sur la NodeJS pilote natif (ici) que de nombreux trouver plus productif. Ce n'est pas une obligation d'utiliser cependant avec MongoDB lors de l'utilisation de Node.JS.
Mangouste a besoin de deux choses fondamentalement de travail:
Donc, comme vous l'avez vu dans l'exemple que vous venez de coller, il y a un chaton
Schema
défini, et puis unModel
Kitten
est créé. Ce qui est agréable avec l'aide d'un schéma et modèle est que la Mangouste applique alors les propriétés et les champs qui sont disponibles.Vous seulement définir le
Schema
s etModel
s fois dans une application. Donc, normalement au démarrage de l'application, vous aurez besoin d'exécuter du code pour les définir, puis d'utiliser laModel
les instances nécessaires tout au long de l'application du cycle de vie.Il y a beaucoup plus de motifs que vous voulez les utiliser Mangouste potentiellement.
Vous avez absolument le droit, vous pouvez simplement utiliser quelque chose de plus direct, sans un schéma à l'aide de la NodeJS pilote natif. La syntaxe serait similaire à ce que vous avez montré, mais un peu plus complexe:
Plutôt que la simple:
Plus, lors de l'utilisation de la Mangouste, vous pouvez constater que l'écriture des requêtes plus complexes est plus facile à lire et à écrire:
Je vous suggère de lire à travers plus de la documentation pour obtenir une meilleure idée pour le cadre, et si c'est un bon match pour vos besoins. La documentation est un peu éparpillé, malheureusement, mais si vous allez à travers les sous-rubriques de la
Guide
rubrique, vous aurez beaucoup de bonnes informations.Vous ne pouvez pas utiliser la Mangouste sans schémas. Si vous souhaitez utiliser MongoDB sans schémas, ne pas utiliser de Mangouste, utilisez quelque chose comme mongodb à la place.