mongodb-4.4.10版本DBRef
mongodb增删改查入门,请参考我的另一篇博文《mongodb-4.4.10版本与MySQL的SQL语法对比,以及mongodb增删改查入门demo》
在mongo中,单个文档最大不能超过16MB,否则就应该考虑使用引用(DBRef)了,在主表里存储一个id值,指向另一个表中的id值。
DBRef 语法: { "$ref" : <value>, "$id" : <value>, "$db" : <value> }
$ref:引用文档所在的集合的名称;
$id:所在集合的_id字段值;
$db:可选,集合所在的数据库实例;
例子:
{
"username":"ZhangSan",
"age":20,
"blog":{
"$ref":"博客所在的集合名字, 假设是blog",
"$id":"博客所在的集合里的某一行文档id主键,假设是100",
"$db":"博客所在的数据库名字,假设是my_blog_db"
}
}
那上面的例子中,blog这个字段的值是一个DBRef,但是DBRef自己是不会去关联一个值的,那怎么找到这个博客内容值呢?
>var dbref = db.users.find({"username":"ZhangSan"}) // 第一步找到叫ZhangSan这个用户的文档
>dbref.blog // 此时查看zhangsan的值就是一个DBRef的值
DBRef("blog","100","my_blog_db")
>db[dbref.$ref].findOne({ "_id":dbref.$id }) // 就能查出相应的值
end