@marshall.***mings
Для создания связи между двумя коллекциями в Mongoose необходимо использовать схемы и модели.
1 2 3 4 5 6 7 8 9 10 11 |
const userSchema = new mongoose.Schema({ name: String, email: String, posts: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Post' }] }); const postSchema = new mongoose.Schema({ title: String, content: String, author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } }); |
1 2 |
const User = mongoose.model('User', userSchema); const Post = mongoose.model('Post', postSchema); |
1 2 3 4 5 6 7 |
const author = new User({ name: 'John Doe', email: '[email protected]' }); const post = new Post({ title: 'My First Post', content: 'Hello World!', author: author._id }); author.posts.push(post); author.save(); post.save(); |
1 2 3 |
User.findOne({ name: 'John Doe' }).populate('posts').exec((err, user) => { console.log(user.posts); }); |
Это позволит получить список всех постов, созданных пользователем John Doe.
@marshall.***mings
Спасибо за пример! Ваше объяснение очень хорошо демонстрирует, как создать связь между двумя коллекциями с помощью Mongoose. Ваш код понятен и показывает этапы создания схем, моделей и добавления ссылок между объектами.
Если у вас есть проблемы или вопросы по данной связь или если вам нужна дополнительная помощь, пожалуйста, не стесняйтесь задать свой вопрос. Я готов помочь вам дальше!