Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

populate example in mongoose

const Live = new Schema(
  {
    user_id:{ 		// this one populate
            type: Schema.Types.ObjectId,      
            ref: 'User',    //  User Schema
            required: true                 
        },
        title: {
            type: String,
        },
        category:{        // this one populate
            type: Schema.Types.ObjectId,
            ref: 'Category'  // Category Schema
        },
  }
)
let vid = await Live.find({})
            .populate({path:'user_id',select:'name image -_id'})
            .populate({path:'category',select:'category -_id',model:Category})

Comment

what does populate in mongoose mean?

"Mongoose populate() lets you reference documents in other collections.
Population is the process of automatically replacing the specified 
paths in the document with document(s) from other collection(s)."

Source: https://mongoosejs.com/docs/populate.html
Comment

mongoose (populate)

// The 2nd `populate()` call below overwrites the first because they
// both populate 'fans'.
Story.
  find().
  populate({ path: 'fans', select: 'name' }).
  populate({ path: 'fans', select: 'email' });
// The above is equivalent to:
Story.find().populate({ path: 'fans', select: 'email' });
Comment

Mongoose populate example

const members = await subtable.find({ party: req.body.party }).populate({
    path: "user_id", //subtable field which refers to your main table
    select: "fname lname",
  });
Comment

mongoose + populate

app.get('/movies', passport.authenticate('jwt', { session: false }), (req, res) => {
	Movies.find()
		.populate('Genre')
		.populate('Actor')
		.populate('Director')
		.then((movies) => {
			res.status(201).json(movies);
		})
		.catch((err) => {
			console.error(err);
			res.status(500).send(`Error: ${err}`);
		});
});
Comment

mongoose populate()

// populates a single object
User.findById(id, function (err, user) {
  const opts = [
    { path: 'company', match: { x: 1 }, select: 'name' },
    { path: 'notes', options: { limit: 10 }, model: 'override' }
  ];

  User.populate(user, opts, function (err, user) {
    console.log(user);
  });
});

// populates an array of objects
User.find(match, function (err, users) {
  const opts = [{ path: 'company', match: { x: 1 }, select: 'name' }];

  const promise = User.populate(users, opts);
  promise.then(console.log).end();
})

// imagine a Weapon model exists with two saved documents:
//   { _id: 389, name: 'whip' }
//   { _id: 8921, name: 'boomerang' }
// and this schema:
// new Schema({
//   name: String,
//   weapon: { type: ObjectId, ref: 'Weapon' }
// });

const user = { name: 'Indiana Jones', weapon: 389 };
Weapon.populate(user, { path: 'weapon', model: 'Weapon' }, function (err, user) {
  console.log(user.weapon.name); // whip
})

// populate many plain objects
const users = [{ name: 'Indiana Jones', weapon: 389 }]
users.push({ name: 'Batman', weapon: 8921 })
Weapon.populate(users, { path: 'weapon' }, function (err, users) {
  users.forEach(function (user) {
    console.log('%s uses a %s', users.name, user.weapon.name)
    // Indiana Jones uses a whip
    // Batman uses a boomerang
  });
});
// Note that we didn't need to specify the Weapon model because
// it is in the schema's ref
Comment

populate in mongoose

const mongoose = require('mongoose');
const { Schema } = mongoose;

const personSchema = Schema({
  _id: Schema.Types.ObjectId,
  name: String,
  age: Number,
  stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

const storySchema = Schema({
  author: { type: Schema.Types.ObjectId, ref: 'Person' },
  title: String,
  fans: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});

const Story = mongoose.model('Story', storySchema);
const Person = mongoose.model('Person', personSchema);
Comment

how to use mongoose populate

{  _id: 59ab1c92ea84486fb4ba9f28,  username: JD,  posts: [    "59ab1b43ea84486fb4ba9ef0",    "59ab1b43ea84486fb4ba9ef1"  ]}
Comment

PREVIOUS NEXT
Code Example
Javascript :: discord.js remove embed from message 
Javascript :: json.stringify pretty 
Javascript :: how to change port in react js 
Javascript :: react native keyboard push view up 
Javascript :: jspdf 
Javascript :: add new database mongodb 
Javascript :: accessing objects inside array 
Javascript :: how to test if an element has a class in testing library 
Javascript :: how to exit node 
Javascript :: check if string is empty 
Javascript :: closure and scope javascript 
Javascript :: get file extension file upload control in javascript 
Javascript :: currentTime(); javascript 
Javascript :: counter with react hooks 
Javascript :: javascript search for words in sentence examples 
Javascript :: javascript submit form programmatically 
Javascript :: hackerearth javascript solutions 
Javascript :: cos in javascript 
Javascript :: js convert array to object 
Javascript :: babel debugging 
Javascript :: jquery add br in text 
Javascript :: how to change package name in react native 
Javascript :: react mui icons 
Javascript :: mongoose bulk create 
Javascript :: string.fromcharcode 
Javascript :: mongoose where 
Javascript :: populate subdocument mongoose 
Javascript :: jquery find input and select 
Javascript :: js delete cookie by name 
Javascript :: generate empty array js 
ADD CONTENT
Topic
Content
Source link
Name
5+8 =