簡體   English   中英

檢查之前是否已經存在字段以在 MongoDB / NodeJS 上創建文檔

[英]check if already exists field before to create a document on MongoDB / NodeJS

我將NodeJSZCCADCDEDB567ABAE643E15DCF0974E503Z一起使用。

    const payload = { 
        id,
        email,
        password: md5(password)
    }
    User.create(payload, async(error, result) => {
        // DO SOMETHING
    })

我正在尋找最好的方法來檢查idemail在我的收藏中創建新文檔之前是否不存在。

您必須先在數據庫上撥打電話以檢查 email。

nodejs 中的實際代碼如下所示:

mongo.connect(url, {
  useNewUrlParser: true,
  useUnifiedTopology: true
}, async (err, client) => {
  if (err) {
   console.error(err);
   return;
  }
  db = client.db('a_db');
  const payload = { 
    id: 'some_id',
    email: 'some_email@email.com',
    password: md5('password')
   }
   db.collection('users').findOne({email: payload.email}, (err, buffer) => {
      buffer.toArray((err, res) => {
         if (res) console.log('user already in')
         else{
           db.collection('users').insertOne(payload, (err, res) => {
              // DO SOMETHING
           });
         }
      });
   });
});

另一方面,你永遠不應該使用 md5 來散列你的密碼,因為它已經被破壞了。 您至少應該使用 sha512。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM