var*_*ati 9 mongoose mongodb node.js
我正在尝试使用 node.js 和 mongoose 将数据保存在 MongoDB 地图集中。
每次使用时MySchema.save(),数据都在插入但我也收到错误消息:
UnhandledPromiseRejectionWarning: MongoWriteConcernError: No write concern mode named 'majority;' found in replica set configuration
此外,没有重复条目,数据也在插入但我也收到错误
let User = require('../models/users.models');
const username = req.body.username;
const newUser = new User({username});
newUser.save()
.then(() => res.json('user added!'))
.catch(err => res.status(400).json('Error: ' + err));
Run Code Online (Sandbox Code Playgroud)
用户模型
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
},
},
{
timestamps: true
});
const User = mongoose.model('User', userSchema);
module.exports = User;
Run Code Online (Sandbox Code Playgroud)
小智 38
我知道 2 个月前有人问过,但对于那些会遇到同样问题的人。您在 URI 字符串的末尾错误地输入了错误的字符:
mongodb+srv://${ user }:${ password }@track-mkahl.mongodb.net/test?retryWrites=true&w=majority;
您需要删除;单词 之后的majority。
小智 5
这对我有帮助。
const schema = new Schema({ name: String }, {
writeConcern: {
w: 'majority',
j: true,
wtimeout: 1000
}
});Run Code Online (Sandbox Code Playgroud)
https://mongoosejs.com/docs/guide.html#writeConcern
小智 5
"mongoURI" : "mongodb+srv://${ user }:${ password }@cluster0.mde0j.mongodb.net/cluster0?retryWrites=true&w=majority "
Run Code Online (Sandbox Code Playgroud)
我在 default.json 中遇到了同样的错误,它的简单错误只需删除&w=majority最后的部分即可解决
小智 0
我认为这条线有问题。
让 User = require('../models/user.models');
我已经为您创建了一个解决方案。
/models/user.js
const mongoose = require('mongoose')
const Schema = mongoose.Schema
mongoose.connect("mongodb://localhost/stack-overflow", { useNewUrlParser: true })
var userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
},
},
{
timestamps: true
});
const User = mongoose.model('User', userSchema);
module.exports = User
Run Code Online (Sandbox Code Playgroud)
/routes/userroute.js
const User = require("../models/user")
// Imagine run() as an asynchronous request handler
async function run() {
try {
const user1 = new User({ username: "lidafafnus" })
user1.save((err,result) => {
console.log(err, result)
})
} catch(error) {
console.log(error)
}
}
run()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8541 次 |
| 最近记录: |