javascript - Utilisez Nodejs pour transférer les données de la base de données vers la réception. Il y a des données dans la base de données et la connexion est réussie, mais pourquoi obtenez-vous un tableau vide ?
ringa_lee
2017-06-05 11:08:50
1.api.js
2.db.js
3.vue
4. Base de données
Le résultat est :
Le résultat obtenu est un tableau vide, mais le lien et la base de données sont corrects. Pourquoi ? ? ?
Le nœud de ce problème, comme l'a dit @cheesekun, est que mangouste changera automatiquement le nom de la collection (premier paramètre) dans le modèle au pluriel.
Ici, je donne mon propre processus expérimental et propose deux solutions ci-dessous.
J'ai d'abord créé un projet simple basé sur le sens du sujetapp.js
app.js
module/db.js
router/api.js
通过 可视化工具 连接到 mongodb 预先在 test 数据库 list 集合下插入了一条文档
发现问题
通过浏览器直接访问得到了 同题主一样的空数组
寻找原因
尝试插入一条文档到集合中
在
module/db.js
底部通过代码插入一条数据重新运行,并通过浏览器访问,返回了通过代码插入的数据
此时通过 可视化工具 可以发现 多出了
lists
module/db.js
routeur/api.js
rrreee Connectez-vous à mongodb via l'outil de visualisation et insérez à l'avance un document dans la collection de listes de bases de données de testAccès directement via le navigateur et obtenu le même tableau vide que le sujet
Essayez d'insérer un document dans la collection
Au bas demodule/db.js
insérez une donnée
via le coderrreee Réexécution et accès via le navigateur, les données insérées via le code sont renvoyées
🎜 🎜À ce stade, vous pouvez découvrir grâce à l'outil de visualisation qu'il existe une collection supplémentairelistes
, et les données que nous avons insérées via le code s'y trouvent🎜 🎜🎜🎜🎜🎜 🎜Solution🎜 🎜🎜Si vous ne spécifiez pas explicitement le nom de la collection, mangouste changera automatiquement le premier paramètre de model() au pluriel comme nom de la collection🎜🎜 🎜Proposez deux solutions, toutes deux précisant le nom de la collection🎜 🎜Le premier type :🎜 🎜🎜Passez le troisième paramètre à mongoose.model() pour spécifier le nom de la collection🎜🎜 rrreee 🎜Le deuxième type : 🎜 🎜🎜Passez le deuxième élément de configuration à Schema pour spécifier le nom de la collection🎜🎜 rrreeeJe parie 50 centimes.
mongoose
Lors de la définition du modèle, s sera automatiquement ajouté au nom de la table, mais votre login et votre liste n'ajoutent pas de sImpossible d'appeler la base de données
Ceci est un blog que j'ai écrit avant, c'est mentionné en bas
mongoose deep sea pit
Ajoutez console.log(data) à res.send(data) et voyez s'il y a un résultat
Tout d'abord, vérifiez directement s'il y a une valeur renvoyée par xhr dans la console. S'il y a une valeur, vous l'avez obtenue de manière erronée.
Sinon, cela signifie que vous n'avez pas envoyé la valeur du tout, ce qui signifie que le problème se produit dans le backend, et vous pouvez revenir en arrière et vérifier.