如何使用mongoose或mongodb检查重复数据(Node.js+;Express)

如何使用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

我想知道在使用mongodb和mongoose将重复值输入数据库之前,是否有方法检查重复值。我基本上是在寻找一种方法来验证数据,在某种意义上,数据不会重复,所以我不会浪费空间。我希望有人能给我指出正确的方向或给我一个解决方案,谢谢

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();
        }
      })
    })

  })
您可以使用$setOnInsert
与厄普塞特:真的

如何,仅有的示例仅使用更新函数(很抱歉,这可能是一个愚蠢的问题,但我是mongodb新手)。如果查询返回null,您也可以从node ad进行查询,这意味着您没有存储的文档。现在,您可以插入新文档。