gpt4 book ai didi

node.js - 使用mongoose连接到mongoDB : neither on error nor once open are triggered

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:08 25 4
gpt4 key购买 nike

我的代码是这样的:

try {
mongoose.connect('mongodb://127.0.0.1:27017/fl00ipflop', {useNewUrlParser: true});
} catch (error) {
console.log(error.message);
}

/* GET users listing. */
router.get('/get', function(req, res, next) {
var db = mongoose.connection;
db.on('error', function() {
console.log("is error");
});
db.once('open', function() {
console.log("is open");
});
var user_id = req.param('id');
var token = req.param('token');
var geo = req.param('geo');
res.send(user_id + ' ' + token + ' ' + geo);
});

我在控制台中看不到任何内容。知道我正在运行 nodemon,尽管我认为它不会改变控制台;

我什至将代码设置在 db.once 内部及其下面。

  var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var Tank = mongoose.model('Tank', schema);

var small = new Tank({ size: 'small' });
small.save(function (err) {
if (err) return handleError(err);
// saved!
});

// or

Tank.create({ size: 'small' }, function (err, small) {
if (err) return handleError(err);
// saved!
});

// or, for inserting large batches of documents
Tank.insertMany([{ size: 'small' }], function(err) {

});

但找不到任何插入的文档,也找不到创建的 Tank 表;

最佳答案

我建立连接,如下所示:

require('dotenv').config();

mongoose.connect('mongodb+srv://myusername:' + process.env.MONGODB_PASSWORD + '@myproject-z8wvn.mongodb.net/myproject?retryWrites=true&w=majority', { useNewUrlParser: true, useUnifiedTopology: true })

app.use(morgan('dev'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.use('/user', userRoute); //add the route

然后我创建了一个 server.js 文件来使用 nodemon 启动服务器

此后,我创建了我的User架构,如下所示:

const mongoose = require('mongoose');

const userSchema = mongoose.Schema({
username: String,
password: String,
email: String
});

module.exports = mongoose.model('User', userSchema);

最后创建您的路线(在我的例子中,我创建了一个新文件user.js):

const express = require('express');
const router = express();
const User = require('../models/user');

router.delete('/getAllUsers', checkAccessToken, (req, res, next) => {

//do whatever you want here
console.log("getAllUsers is working! :)");
});

我希望这有帮助。 :)

关于node.js - 使用mongoose连接到mongoDB : neither on error nor once open are triggered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59456468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com