如何使用mongoose或mongodb检查重复数据(Node.js+;Express)
我想知道在使用mongodb和mongoose将重复值输入数据库之前,是否有方法检查重复值。我基本上是在寻找一种方法来验证数据,在某种意义上,数据不会重复,所以我不会浪费空间。我希望有人能给我指出正确的方向或给我一个解决方案,谢谢 App.js:如何使用mongoose或mongodb检查重复数据(Node.js+;Express),node.js,mongodb,express,web-applications,mongoose,Node.js,Mongodb,Express,Web Applications,Mongoose,我想知道在使用mongodb和mongoose将重复值输入数据库之前,是否有方法检查重复值。我基本上是在寻找一种方法来验证数据,在某种意义上,数据不会重复,所以我不会浪费空间。我希望有人能给我指出正确的方向或给我一个解决方案,谢谢 App.js: var print = require('./print'); var express = require("express"); var app = express(); var bodyParser = require('body-par
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();
}
})
})
})
您可以使用$setOnInsert
与厄普塞特:真的 如何,仅有的示例仅使用更新函数(很抱歉,这可能是一个愚蠢的问题,但我是mongodb新手)。如果查询返回null,您也可以从node ad进行查询,这意味着您没有存储的文档。现在,您可以插入新文档。