node.js - node.js mongoose find() 没有价值
问题描述
路线/signup.js
var express = require('express');
var router = express.Router();
const User = require('../model/user');
var mongoose = require('mongoose');
function userFind(value){
return User.find({user_id:value}).exec();
};
router.get('/',function (req,res) {
res.render('login/signup');
});
router.post('/',async function (req,res,next){
try{
let userid =req.body.id;
console.log(userid); //abcdefg
const user = await userFind(userid);
console.log(user); // []
}catch(err){
next(err);
}
})
module.exports = router;
模型/user.js
const mongoose = require('mongoose')
var Schema = mongoose.Schema;
const userSchema = new Schema(
{ user_id : {type:String,required:true, unique:true},
user_password : {type:String, required:true, select:false},
user_name: {type:String, required:true},
user_email : {type:String,required:true,unique : true},
user_birth : {type:String,require:true},
},{versionKey:false},
{collection: 'user'}
);
module.exports = mongoose.model('user',userSchema);
mongodb里面的数据。
{
"_id": {
"$oid": "60413c7c48e5e61187cc4eeb"
},
"user_id": "abcdefg",
"user_password": "test111",
"user_name": "세글자",
"user_email": "test@naver.com",
"user_birth": "884455"
}
应用程序.js
var express = require('express');
var mongoose = require('mongoose');
const bodyParser = require('body-parser');
var db = mongoose.connection;
db.on('error', console.error);
db.once('open', function(){
// CONNECTED TO MONGODB SERVER
console.log("Connected to mongod server");
});
mongoose.connect("mongodb+srv://testing1:7894@cluster0.9hxjc.mongodb.net/data?
retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology:
true });
var app = express();
var test = require('./route/index');
var test2 = require('./route/signup');
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
app.set('views',__dirname+'/views'); // ==
app.set('views',path.join(__dirname, 'views'));
app.set('view engine','ejs');
app.engine('html',require('ejs').renderFile);
app.use('/',test);
app.use('/signup.ejs',test2);
app.listen(3000,function(){
console.log('hello world');
});
你好,我正在学习使用 mogoose 和 node.js。我跑了 mongoose find() 但结果只有 []。我不知道为什么会这样,如果您告诉我,我将不胜感激。如果是findOne(),我应该怎么写呢?我试过写一次,但结果是空的。
解决方案
通过在评论中聊天,我们发现了问题。该模型称为user
:
module.exports = mongoose.model('user',userSchema);
哪个 mongoose 将连接到 MongoDB 中名为users
(复数)的集合。那个收藏确实是空的。在名为 的集合中只有内容user
。
推荐阅读
- android - Razor pay 在 react-native 版本 0.61.5 中不起作用。razorpayCheckout.open 上的 Android 应用程序崩溃。有什么解决办法吗?
- javascript - 支付成功后无法找回Paypal信息
- android - 返回片段时未加载 Youtube 播放器视频
- ios - SwiftUI 无法平移图像
- python - 如何抓取谷歌搜索结果的一部分
- string - 在Rust中将i8的向量转换为u8的向量?
- kotlin - 当从 C 调用 Kotlin 回调函数时,如何避免 Kotlin Native 中的错误“staticCFunction must take an unbound ...”?
- c++ - 如何将 const char* 从函数转移到函数?
- python - 具有可变映射的 PrettyPrint
- python - 如何在 VS Code 中运行当前行并推进?(视窗)