簡體   English   中英

無法使用NodeJ檢查MongoDB上是否存在字段

[英]Unable to check if field exists on MongoDB using NodeJs

我正在使用NodeJs和MongoDb作為我的Android應用程序的后端服務。我正在檢查我的數據庫中是否存在Phone字段。 我的問題是每次我檢查它發送的字段響應字段是否存在,即使文檔中不存在電話字段。

這是我的代碼:

const express = require('express');
const bodyParser = require('body-parser');
const env = require('dotenv').config();
const router = express.Router();
const MongoClient = require('mongodb').MongoClient;

var dburl = process.env.URL;

router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended:true}));

router.post('/checkPhone',(req,res) => {

        var data = req.body.uId;

MongoClient.connect(dburl,{useNewUrlParser:true},(err,client) => {

              if(err){

                console.log("Error:" +err);
              }
              else{

                var collect = client.db('Bookbudi_db').collection('Users');

                collect.find({_id:data,Phone:{$exists:true}},(err,doc) => {

                             if(err){

                                console.log("Error:" +err);
                             }
                             if(doc){

                                res.send("Exist");
                             }
                             else{

                                res.send("Doesn't exist");
                             }

                });

              }

     });  

 });

module.exports = router;

有人請告訴我上面的代碼我做錯了什么。 任何幫助,將不勝感激。

謝謝

if { $exists:true }返回文檔 - 這意味着該字段在那里。

您的模式可能會定義此字段並使用null啟動它 - 請注意$exists仍將返回這些字段。

參考文獻: $存在

暫無
暫無

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

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