MongoDB连表查询
发布于 9 年前 作者 0xReturn 8543 次预览 最后一次回复是 9 年前 来自 问答
正在学习MongoDB的连表查询,没搞明白的是,如何将B表的ObjectId字段插入到A表中:
// User模式
var mongoose = require('mongoose')
var UserSchema = new Schema({
name : String,
age : Number,
uid : Number,
star : Number,
posts: [{
type:mongoose.Schema.Types.ObjectId,
ref:'Post'
}
]
})
module.exports = mongoose.model('User',UserSchema)
// Post模式
var mongoose = require('mongoose')
var PostSchema = new Schema({
news_id : Number,
uid : Number,
name : String,
title : String,
content : String
})
module.exports = mongoose.model('Post',PostSchema)
我在posts集合中插入了三条数据,每条数据的ObjectId分别为:
ObjectId("581358eb3683035dba5d7266")
ObjectId("58135914d665b55dc5cd8bca")
ObjectId("5813593a279acc5dd01d36ca")
###然后,我如何将这三个ObjectId在控制台通过命令插入到users集合的posts字段呢?
4 回复
最近正好要用到这个东西,说错了,下面大神指正我,貌似关联查询是借用mongoose,实际数据库操作其实只是把一个objectID存到主表里。所有只是mongoose的简化的API,可以看看官方的栗子
@fangker
我知道要怎么做了(控制台里用命令直接插入ObjectId类型就行):
然后我在程序中实现连表查询:
连表查询结果如下:
@0xReturn http://www.nodeclass.com/articles/411724 昨天看的这个好的~
可以直接在user里预留个对应post._id的String,mongoose的话是用populate