首页 > 数据库 >无涯教程-MongoDB - 数据库引用

无涯教程-MongoDB - 数据库引用

时间:2023-11-04 14:32:46浏览次数:50  
标签:教程 DBRef MongoDB db 无涯 文档 引用 address id

如MongoDB关系的最后一章所示,为了在MongoDB中实现规范化的数据库结构,无涯教程使用了引用关系的概念,也称为 Manual References ,其中无涯教程手动将参考文件的ID存储在其他文件中。但是,如果文档包含来自不同集合的引用,则可以使用 MongoDB DBRefs 。

使用DBRef

DBRefs中有三个字段-

  • $ref   - 此字段指定引用文档的集合

  • $id    - 此字段指定引用文档的_id字段

  • $db   - 这是一个可选字段,包含所引用文档所在的数据库的名称

考虑一个具有DBRef字段 address 的示例用户user文档,如代码片段所示-

{
   "_id":ObjectId("53402597d852426020000002"),
   "address": {
   "$ref": "address_home",
   "$id": ObjectId("534009e4d852427820000002"),
   "$db": "learnfk"},
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin"
}

此处的 address DBRef字段指定引用的地址文档位于 learnfk 数据库下的 address_home 集合中,并且ID为534009e4d852427820000002。

以下代码动态地在由 $ref 参数(在本示例中为 address_home )指定的集合中查找由 $id 指定的ID的文档DBRef中的参数。

>var user = db.users.findOne({"name":"Tom Benzamin"})
>var dbRef = user.address
>db[dbRef.$ref].findOne({"_id":(dbRef.$id)})

上面的代码返回 address_home 集合中存在的以下地址文档-

{
   "_id" : ObjectId("534009e4d852427820000002"),
   "building" : "22 A, Indiana Apt",
   "pincode" : 123456,
   "city" : "Los Angeles",
   "state" : "California"
}

参考链接

https://www.learnfk.com/mongodb/mongodb-database-references.html

标签:教程,DBRef,MongoDB,db,无涯,文档,引用,address,id
From: https://blog.51cto.com/u_14033984/8182700

相关文章

  • 无涯教程-MongoDB - PHP
    要将MongoDB与PHP一起使用,您需要使用MongoDBPHP驱动程序,从URL下载PHP驱动程序,确保下载最新版本,现在解压缩并将php_mongo.dll放入您的PHP扩展目录(默认为"ext"),并将以下行添加到php.ini文件中-extension=php_mongo.dll连接数据库要创建连接,您需要指定数据库名称,如果数据库不......
  • 无涯教程-MongoDB - 复制数据
    复制是跨多个服务器同步数据的过程,复制提供了冗余,并通过不同数据库服务器上的多个数据副本提高了数据可用性,复制可防止数据库丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复,使用其他数据副本,您可以将其专用于灾难恢复,报告或备份。复制工作方式MongoDB通过使用副本集......
  • 无涯教程-MongoDB - Java
    在本章中,无涯教程将学习如何设置MongoDBJDBC驱动程序。安装驱动在Java程序中开始使用MongoDB之前,需要确保在计算机上设置了MongoDBJDBC驱动程序和Java,您可以检查Java教程以在计算机上安装Java。现在,让无涯教程检查如何设置MongoDBJDBC驱动程序。您需要从路径下载 jarmong......
  • Proxifier 2023年11月时最新版 激活教程
    前言Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。支持64位系统支持Xp,Vista,Win7,支持socks4,socks5,http代理协议,支持TCPUDP协议,可以指定端口,IP,指定程序等运行模式,兼容性非常好。有许多网络应用程序不支持......
  • 无涯教程-MongoDB - 投影语句
    在MongoDB中,投影(Projection)意味着仅选择必要的数据,而不是选择全部数据,如果文档有5个字段,而只需要显示3个字段,则从中选择3个字段。find()方法MongoDB的find()方法在MongoDB查询文档中进行了解释,该方法接受第二个可选参数是您要检索的字段列表,在MongoDB中,执行find()方法时......
  • 无涯教程-MongoDB - 限制查询
    在本章中,无涯教程将学习如何使用MongoDB限制记录。要限制MongoDB中的记录,您需要使用limit()方法,该方法接受一个数字类型参数,该参数是您要显示的文档数。Limiting-语法limit()方法的基本语法如下->db.COLLECTION_NAME.find().limit(NUMBER)Limiting-示例考虑收集myyco......
  • 无涯教程-MongoDB - 排序数据
    在本章中,无涯教程将学习如何在MongoDB中对记录进行排序。要在MongoDB中对文档进行排序,您需要使用sort()方法,要指定排序顺序,请使用1和-1。1表示升序,-1表示降序。Sorting-语法sort()方法的基本语法如下->db.COLLECTION_NAME.find().sort({KEY:1})Sorting-示例考虑收集......
  • Adobe Photoshop 2023 最新激活教程(亲测有效)
    AdobePhotoshop介绍AdobePhotoshop2023可以创建关于世界上最好的照片,设计师Photoshop使用易于使用的工具和直观的模板将创意世界向前推进。即使是初学者也能创造一些不可思议的东西。Photoshop可以做任何事情,从图像编辑和图像编辑到数字绘图,动画和平面设计。它具有全方位的专业......
  • Adobe Photoshop 2023 最新下载_永久激活注册码(附图文安装教程)
    无图无真相,激活成功截图介绍AdobePhotoshop2023可以创建关于世界上最好的照片,设计师Photoshop使用易于使用的工具和直观的模板将创意世界向前推进。即使是初学者也能创造一些不可思议的东西。Photoshop可以做任何事情,从图像编辑和图像编辑到数字绘图,动画和平面设计。它具有全方位......
  • 无涯教程-MongoDB - 删除数据
    在本章中,无涯教程将学习如何使用MongoDB删除文档。remove()方法MongoDB的remove()方法用于从集合中删除文档,remove()方法接受两个参数。第一个是删除条件,第二个是justOne标志。deletion - (可选)根据文档的删除条件。justOne  - (可选)如果设置为true或1,则仅删......