Мне было интересно, есть ли способ проверить повторяющиеся значения перед вводом их в базу данных с использованием mongodb и mongoose. Я в основном ищу способ подтверждения данных в том смысле, что данные не повторяются, поэтому я не теряю места. Я надеялся, что кто-то может указать мне в правильном направлении или показать мне решение, спасибо.Как использовать mongoose или mongodb для проверки повторяющихся данных (Node.js + Express)
App.js:
var print = require('./print');
var express = require("express");
var app = express();
var bodyParser = require('body-parser');
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var config = require('./config.js');
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine', 'ejs');
app.get('/', function(req, res) {
res.render("post");
print("All is in order");
})
app.listen(config.port, function() {
print(`listening on ${config.port}`);
})
MongoClient.connect(config.localUrl, function(err, db) {
if(err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
return;
}
var collection = db.collection('users');
app.post('/post', function(req, res) {
var name = req.body.name
var email = req.body.email
res.send(`You sent the name ${name} and the email ${email}`);
var user1 = {};
user1.name = name;
user1.email = email;
//validate no repeated values
collection.insert(user1, function(err,result){
if (err) {
console.log(err);
} else {
console.log('The Results', result);
db.close();
}
})
})
})
Как это сделать, единственные примеры используют функцию обновления (извините, это может быть глупый вопрос, но я новичок в mongodb). –
Вы также можете сделать запрос от объявления узла, если запрос возвращает null, это означает, что у вас нет сохраненного документа. Теперь вы можете вставить новый документ. –