私はサーバとしてnodejsを使用しています。データベースからフェッチした後、mongodbにパラメータを送信してデータベースに保存しています。しかし、私がデータを取得しようとすると、私はnodejs端末の現在のデータを見ることができませんが、データベースに存在します。もう一度他のデータを送信すれば、私は以前のデータを見ることができますが、今送られてきた現在のデータは見ることができません。私のサーバーはsave関数の前にfind関数を呼び出していると思います。どのような作業を完了するために私の保存関数を作成する必要がありますし、それはfind関数を呼び出す必要があります。サーバから送信された現在のデータを表示できません
このmongodbコード 'mongoose'からのインポートmongoose;
var Schema = mongoose.Schema;
//connect to a MongoDB database
var db = mongoose.connect('mongodb://127.0.0.1:27017/student');
mongoose.connect('connected', function() {
console.log("database connected successfully")
});
var userSchema = new Schema({
Name: {
type: String,
required: true
},
Age: {
type: Number,
required: true
}
}, {
collection: ('studentcollection2')
});
var User = mongoose.model('User', userSchema);
function createStudent(name, age) {
var list = new User({
Name: name,
Age: age
});
list.save(function(err) {
if (err) throw err;
console.log("SUCCESSFUL");
});
}
function listStudent() {
User.find({}, function(err, studentcollection2) {
if (err) throw err;
console.log(studentcollection2);
});
}
exports.createStudent = createStudent; //module.exports = User;
exports.listStudent = listStudent;
これは私のサーバーコード
import config from './config';
import express from 'express';
const server = express();
import mongodbInterface from './mongodbInterface';
server.set('view engine', 'ejs');
server.get('/', (req, res) => {
res.render('index', {
content: '...'
})
});
console.log(typeof mongodbInterface.createStudent);
mongodbInterface.createStudent("a9", 112);
mongodbInterface.listStudent();
server.use(express.static('public'));
server.listen(config.port,() => {
console.info('express listening on port', config.port);
});