MongoDB的集合关联

MongoDB的集合关联

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true, useUnifiedTopology: true })
    .then(() => {
        console.log('连接成功');
    })
    .catch(err => {
        console.log('连接失败');
    });
//创建用户集合规则
const userSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    }
});
//创建集合规则
const postSchema = new mongoose.Schema({
        title: {
            type: String
        },
        author: {
        	//从id中得到类型  固定写法
            type: mongoose.Schema.Types.ObjectId,
            //从集合User中得到值
            ref: 'User'
        }
    })
    //用户集合
const User = mongoose.model('User', userSchema);
const Post = mongoose.model('Post', postSchema)

//创建用户
User.create({ name: 'itheima' }).then(result => {
    console.log(result);
});
//创建一篇文章
// Post.create({ title: '123', author: '5f41e5c6dddd9e00e42356df' }).then(result => {
//     console.log(result);
// })
//populate表示从author中获取值
Post.find().populate('author').then(result => {
    console.log(result);
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值