0
votes

MongoDB ne sauvegarde pas de document

J'essaie de stocker des données à partir d'un formulaire HTML. J'envoie les données à l'aide de la méthode HTTP POST et je les ai reçues à l'aide de Express Cadre dans Node.js. Les données arrivent et il semble fonctionner, mais lorsque j'essaie de les stocker dans MongoDB à l'aide de Mongoose, la base de données est créée, mais aucune donnée n'est stockée lorsque j'exécute db.sis_dictionary.find ()

J'ai essayé de construire différents Types de schémas et de modèles, mais aucun ne semble fonctionner. Et je n'ai aucune erreur de nœud.js, il semble fonctionner, mais la base de données MongoDb ne stocke rien. xxx

dans la console, je reçois le message: " Statut: Travailler ".


1 commentaires

Qu'est-ce que vous avez dans req.body ?


3 Réponses :


1
votes

sis_diary est votre nom de base de données et vos mots doit être votre nom de collection. Comme Mongoose crée automatiquement un nom pluriel pour la collecte à partir d'un modèle si le nom du modèle non spécifié lors de la création d'un schéma

db.collection.find () est une commande pour trouver des données de collecte lors de l'utilisation de Mongo -coquille. Exécutez ci-dessous la commande pour obtenir des données:

  • Utilisez sis_dictionary

  • db.words.find ()

    Pour embellir le résultat Utilisez une jolie méthode

    db.words.find (). joli ()

    première commande sélectionnera les données de collecte DB et secondes de la liste de commandes.

    donc lorsque vous exécutez db.sis_dictionary.find () Ça ne fonctionnera pas car sis_dictinytiny est votre nom de base de données.

    Nodejs Way avec 'Mongoose' xxx

    aussi, cochez cette ligne var word = nouveau mot ({mot : Chaîne (req.body)}); Que fait Req.body? Si req.bybody est {Word: "exemple Word"} , alors vous passez directement req.body sur le constructeur modal, c'est-à-dire nouveau mot (CODE> ;


0 commentaires

0
votes

Selon votre URL de base de données, MongoDB: // localhost: 27017 / sis_dictionary code>, sis_dictionary code> est le nom de la base de données.

et selon votre mangouse Code> Modèle, Word code> est votre nom de collection. P>

Lorsque vous enregistrez un document, cela enregistre sous une collection. Vous devez donc faire une requête sous les collections. P>

Ainsi, lorsque vous essayez d'obtenir des données à l'aide de db.sis_dictionary.find () code>, il ne fonctionnera certainement pas. p>

Votre requête doit être comme db.collection.find () code> p>

Utilisez la requête suivante, P>

use sis_dictionary
db.words.find()
// for better view
db.words.find().pretty()


0 commentaires

0
votes

Merci tout le monde. Tout allait bien, c'était un problème lié à mes noms de collections. db.wards.find (). Jolie () a fonctionné parfaitement! Le problème est résolu.


0 commentaires