当前位置: 首页 > news >正文

域名和网站空间企业形象设计论文

域名和网站空间,企业形象设计论文,成都网站制作推来客网站系统,asp图片源码网站$out阶段将聚合管道产生的文档写入到指定的集合,从MongoDB4.4开始,支持指定数据库。$out阶段必须放在聚合管道的最后,支持聚合结果任意大小的数据集。 警告: 如果指定的集合已经存在则会被替换。 语法 用法 1: 定数…

$out阶段将聚合管道产生的文档写入到指定的集合,从MongoDB4.4开始,支持指定数据库。$out阶段必须放在聚合管道的最后,支持聚合结果任意大小的数据集。

警告:

如果指定的集合已经存在则会被替换。

语法

用法 1: 定数据库和集合名称

{ $out: { db: "<output-db>", coll: "<output-collection>" } }
  • db 指定数据库的名称:

    • 对于标准的副本集,如果指定的数据库不存在,$out会自动创建。
    • 对于分片集群,指定的数据库必须已经存在。
  • coll 指定集合的名称

用法 2:只指定集合名称

{ $out: "<output-collection>" } // 同一个数据库

直接为$out指定输出集合的名称,输出到同一数据库。

注意

  • 分片集合可以作为管道的输入,但是不能作为$out的输出集合,想要输出到分片集合可以使用$merge
  • $out操作不能输出到副本集合。
  • 如果要修改带有Atlas Search索引的集合,必须先删除再重建索引,最好使用$merge代替$out

说明

创建新集合

如果指定的的集合不存在$out可以创建新集合。在聚合未结束前集合不可见。如果聚合失败则不会创建集合。

替换已存在的集合

如果指定的集合已经存在,在聚合完成后$out会使用新的结果替换原有集合,具体步骤如下:

  1. 创建一个临时的集合。
  2. 将现有集合索引复制到临时集合。
  3. 将聚合结果文档插入到临时集合。
  4. 调用renameCollection命令,并且dropTarget: True,将临时集合更名为目标集合。

$out操作不会修改原有集合的索引,如果聚合失败,也不会对原有集合做任何修改。

majority 读关注

从MongoDB4.2开始,可以为包含$out阶段的聚合指定"majority"级别的读关注。

mongodump的影响

如果有客户端发起的聚合管道包含$out阶段,则会导致带有--oplog参数的’mongodump’执行失败。

一些限制

  • 事务的限制。事务中的聚合管道不能使用$out
  • 时间序列集合的限制。聚合管道不能使用$out把结果输出到时间序列集合。
  • 视图的限制。在视图定义中,不允许包含$out阶段。如果视图定义中包含内置的管道(如:视图定义包含$lookupfacet阶段),$out阶段不能用于这些内置管道。
  • $lookup阶段的限制。从MongoDB4.2开始,不能将$out应用与$lookup阶段的内嵌管道。
  • $facet阶段的限制。在$facet阶段的内置管道不允许使用$out阶段。
  • $unionWith阶段的限制。在$unionWidth阶段的内置管道不允许使用$out阶段。
  • "linearizable" 读关注的限制。从MongoDB4.2开始,$out阶段不能与读关注"linearizable"一起使用。这意味着,如果在db.collection.aggregate()指定了读关注"linearizable",则不能在管道中使用$out阶段。

举例

test数据库创建一个books集合并插入文档:

db.getSiblingDB("test").books.insertMany([{ "_id" : 8751, "title" : "The Banquet", "author" : "Dante", "copies" : 2 },{ "_id" : 8752, "title" : "Divine Comedy", "author" : "Dante", "copies" : 1 },{ "_id" : 8645, "title" : "Eclogues", "author" : "Dante", "copies" : 2 },{ "_id" : 7000, "title" : "The Odyssey", "author" : "Homer", "copies" : 10 },{ "_id" : 7020, "title" : "Iliad", "author" : "Homer", "copies" : 10 }
])

输出到同一个库

以下聚合操作将test数据库中books集合中的数据调整为按author分组的标题,然后将结果写入test数据库的authors集合。

db.getSiblingDB("test").books.aggregate( [{ $group : { _id : "$author", books: { $push: "$title" } } },{ $out : "authors" }
] )
  • $group阶段按照作者分组,使用$push将同一作者的图书标题数组放入books字段:

    { "_id" : "Dante", "books" : [ "The Banquet", "Divine Comedy", "Eclogues" ] }
    { "_id" : "Homer", "books" : [ "The Odyssey", "Iliad" ] }
    
  • $out阶段将文档输出到test数据库的authors集合

运行查询命令:

db.getSiblingDB("test").authors.find()

得到结果:

{ "_id" : "Homer", "books" : [ "The Odyssey", "Iliad" ] }
{ "_id" : "Dante", "books" : [ "The Banquet", "Divine Comedy", "Eclogues" ] }

输出到不同的数据库

以下聚合操作将test数据库中books集合中的数据调整为按author分组的标题,然后将结果写入reporting数据库的authors集合。

db.getSiblingDB("test").books.aggregate( [{ $group : { _id : "$author", books: { $push: "$title" } } },{ $out : { db: "reporting", coll: "authors" } }
] )
  • $group阶段按照作者分组,使用$push将同一作者的图书标题数组放入books字段:

    { "_id" : "Dante", "books" : [ "The Banquet", "Divine Comedy", "Eclogues" ] }
    { "_id" : "Homer", "books" : [ "The Odyssey", "Iliad" ] }
    
  • $out阶段将文档输出到reporting数据库的authors集合

运行查询命令:

db.getSiblingDB("reporting").authors.find()

得到结果:

{ "_id" : "Homer", "books" : [ "The Odyssey", "Iliad" ] }
{ "_id" : "Dante", "books" : [ "The Banquet", "Divine Comedy", "Eclogues" ] }
http://www.yayakq.cn/news/154130/

相关文章:

  • 做环保要知道的几个网站北京南站是丰台站吗
  • 免费做网站收录的益阳学校网站建设
  • 做网站横幅技巧群晖wordpress二级目录
  • 中国南昌企业网站制作百度快照优化网站
  • 建设银行哪个是假网站车之家汽车报价2022官网
  • 博州住房和城乡建设部网站龙岩做网站设计公司
  • 设计师招聘网站推荐一起做网站吧
  • 手机如何创建简易网站网络推广员工作内容
  • 山东网站建设SEO优化制作设计公司wordpress 4.6漏洞
  • 广州建网站要多少钱免费漫画app推荐
  • 社区网站建设方案天元建设集团有限公司电话号码
  • 设计网站大全扣西湖南岚鸿首选绩效考核表 网站建设
  • 广州外贸网站制作公司邮箱登陆入口
  • 湖南微信网站建设怎么建造网站
  • 重庆奉节网站建设公司推荐采招网是怎样做的网站
  • 怎么建设批量模板网站泰安58
  • 淄博网站建设咨询臻动传媒论坛申请网站备案前置审批
  • 简洁个人博客网站模板下载wordpress字体替换
  • 起飞页怎么做网站自己网站建设容易吗
  • 建设一个视频网站采集做网站
  • 科室建设网站图书馆门户网站建设方案
  • 免费网站建设平台 iis网站flash背景
  • 网站开发工作怎么样wordpress预约插件
  • 西安制作网站教育网站建设方案
  • 整站优化与关键词排名南宁网站建设seo
  • 小程序建站模板成都分销网站建设
  • 绥中建设厅网站网站开发过程的数据交互
  • 留言网站建设童装网站建设目标
  • 专业做公司宣传网站江西省建设工程有限公司
  • 网站建设首页面广东省54个市