MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नेवला में आईडी से नाम कैसे प्राप्त करें?

आपको इस तरह पॉप्युलेट करने की आवश्यकता है:(उपयोगकर्ता के पासवर्ड को बाहर करना भी एक अच्छा विचार है)

 Question.find({})
    .populate("user", "-password")
    .populate("answered.user", "-password");

इसके अलावा मेरे पास कुछ कोड सुझाव हैं:

हम आम तौर पर उपयोगकर्ता जैसे मॉडल के लिए पहले अक्षर के बड़े अक्षरों और एकवचन नामों का उपयोग करते हैं।

user.js

const mongoose = require("mongoose");

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true
  },
  date: {
    type: Date,
    default: Date.now
  }
});

const User = mongoose.model("User", UserSchema);

module.exports = User;

Question.js

const mongoose = require("mongoose");

const QuestionSchema = new mongoose.Schema({
  user: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "User"
  },
  question: {
    type: String
  },
  name: {
    type: String
  },
  answered: [
    {
      user: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "User"
      }
    }
  ]
});

const Question = mongoose.model("Question", QuestionSchema);

module.exports = Question;

और आप उपयोगकर्ताओं को पॉप्युलेट करने के लिए निम्न क्वेरी का उपयोग कर सकते हैं:

const Question = require("../models/question");

router.get("/question", async (req, res) => {
  const questions = await Question.find({})
    .populate("user", "-password")
    .populate("answered.user", "-password");

  res.send(questions);
});

यहाँ नमूना आउटपुट है:

[
    {
        "_id": "5dc12a6aa875cd0ca8b871eb",
        "user": {
            "_id": "5dc129eda875cd0ca8b871e8",
            "name": "user 1",
            "email": "[email protected]",
            "date": "2019-11-05T07:51:09.625Z",
            "__v": 0
        },
        "question": "question 1",
        "name": "question 1 name",
        "answered": [
            {
                "_id": "5dc12a6aa875cd0ca8b871ed",
                "user": {
                    "_id": "5dc12a00a875cd0ca8b871e9",
                    "name": "user 2",
                    "email": "[email protected]",
                    "date": "2019-11-05T07:51:28.892Z",
                    "__v": 0
                }
            },
            {
                "_id": "5dc12a6aa875cd0ca8b871ec",
                "user": {
                    "_id": "5dc12a0aa875cd0ca8b871ea",
                    "name": "user 3",
                    "email": "[email protected]",
                    "date": "2019-11-05T07:51:38.060Z",
                    "__v": 0
                }
            }
        ],
        "__v": 0
    }
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB और स्प्रिंग बूट का उपयोग करके फ़ाइलें अपलोड करें और पुनर्प्राप्त करें

  2. एकत्रीकरण के बाद मूल दस्तावेज़ को वापस कैसे प्राप्त करें

  3. C# MongoDB ड्राइवर का उपयोग करके फ़ील्ड का सबसेट कैसे प्राप्त करें?

  4. mongo.lock फ़ाइल का क्या उपयोग है?

  5. मोंगोडब समुच्चय:तिथि को दूसरे समय क्षेत्र में बदलें