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

陕西农产品网站建设信息发布网站建设

陕西农产品网站建设,信息发布网站建设,西安建设工程信息网招标公告,长春市长春网站建设哪家好目录 基于$lookup创建关联查询视图 创建带有默认字符序的视图 字符序 创建视图 视图中的字符序 基于$lookup创建关联查询视图 基于$lookup命令,通过集合的关联查询,用户可以创建基于两个集合的视图并查询视图数据。应用在构建查询时,无需…

目录

基于$lookup创建关联查询视图

创建带有默认字符序的视图

字符序

创建视图

视图中的字符序


基于$lookup创建关联查询视图

基于$lookup命令,通过集合的关联查询,用户可以创建基于两个集合的视图并查询视图数据。应用在构建查询时,无需每次构建和维护复杂的管道查询。

  • 构建用于创建视图的两个集合, inventory集合和orders集合
db.inventory.insertMany([{ prodId: 100, price: 20, quantity: 125},{ prodId: 101, price: 10, quantity: 234},{ prodId: 102, price: 15, quantity: 432},{ prodId: 103, price: 17, quantity: 320}
])db.orders.insertMany([{ orderId: 201, custid: 301, prodId: 100, numPurchased: 20},{ orderId: 202, custid: 302, prodId: 101, numPurchased: 10},{ orderId: 203, custid: 303, prodId: 102, numPurchased: 5},{ orderId: 204, custid: 303, prodId: 103, numPurchased: 15},{ orderId: 205, custid: 303, prodId: 103, numPurchased: 20},{ orderId: 206, custid: 302, prodId: 102, numPurchased: 1},{ orderId: 207, custid: 302, prodId: 101, numPurchased: 5},{ orderId: 208, custid: 301, prodId: 100, numPurchased: 10},{ orderId: 209, custid: 303, prodId: 103, numPurchased: 30}
])
  • 创建关联查询视图
db.createView("v_sales",  // 视图名称"orders",   // 基于orders集合创建视图[{$lookup: {// 通过lookup查询inventory集合from: "inventory",localField: "prodId",foreignField: "prodId",as: "inventoryDocs"}
}, {$project: { //指定输出字段_id: 0,prodId: 1, orderId: 1,numPurchased: 1,price: "$inventoryDocs.price"}
}, {$unwind: "$price" //将price数组打平
}])
  • 查询视图
db.v_sales.find()/* 1 */
{"orderId" : 201,"prodId" : 100,"numPurchased" : 20,"price" : 20
},/* 2 */
{"orderId" : 202,"prodId" : 101,"numPurchased" : 10,"price" : 10
},
...

创建带有默认字符序的视图

字符序

字符集中字符串的排列顺序,用于指定字符串的比较规则,包括大小写比较规则,发音标记规则顺序等。

创建视图

Mongodb官网中,展示了一个带有默认字符序的视图

  • 创建一个不同cafe值的集合
db.places.insertMany([{ _id: 1, category: "café" },{ _id: 2, category: "cafe" },{ _id: 3, category: "cafE" }
])
  • 基于上述集合,创建一个视图,并指定字符序
db.createView("placesView", "places", [ { $project: {category: 1}}], {collation: { locale: "fr", strength: 1}})
  • 查看视图数据
db.placesView.countDocuments({ category: "cafe"})
//结果返回3

视图中的字符序

  • 用户可以在创建视图时,指定字符序。如果没有指定字符序,视图默认的字符序就是简单的二进制字符序。视图并不会继承集合的默认字符序。
  • 视图中字符比较,使用默认的字符序。禁止尝试修改或覆盖字符序的操作
  • 基于已有view创建的视图,不可以指定与原始图不同的字符序
  • 在多个view中进行aggregation查询时,如$lookup, $graphLookup命令,使用的视图必须有相同的字符序。
//基于placesView创建新的视图,指定不同的字符序,创建失败。
db.createView("placesView2", "placesView", [ { $project: {category: 1}}], {collation: { locale: "en", strength: 1}})
{"message" : "View test.placesView2 has conflicting collation with view test.placesView","ok" : 0,"code" : 167,"codeName" : "OptionNotSupportedOnView"
}
//使用$lookup查询视图和不同字符序的集合,查询失败
db.places.aggregate()
.lookup({from: "placesView",localField: "category",foreignField: "category",as: "categoryViews"})
{"message" : "Cannot override a view's default collationtest.placesView","ok" : 0,"code" : 167,"codeName" : "OptionNotSupportedOnView"
}

http://www.yayakq.cn/news/193028/

相关文章:

  • 网站建设 镇江万达wordpress顶部浮动
  • 最大的高仿手表网站WordPress任务发布插件
  • 主机屋做网站视频国外建设工程网站
  • 微信商城网站如何做wordpress照片投票插件
  • 网站邮箱怎么做的大型服装网站开发
  • 网站淘宝客怎么做的网站建设方案产业
  • 做企业网站需要买什么平台搭建与拆除流程
  • seo 网站优化怎样搭建电商平台
  • 新网网站管理品牌推广策略与方式
  • 玉环县建设局网站住房和规划建设局网站
  • 不做网站只做推广可以么一般设计网站页面用什么软件做
  • 网上发布信息的网站怎么做的wordpress关闭发表评论
  • 网站宣传的重要性公司做网站都咨询哪些问题
  • 金融行业seo整站优化网页设计与制作怎么做清平调代码
  • 网页设计教程百度云seo网络优化是做什么的
  • 潍坊建设网站公司电话网站备案可以强制撤销吗
  • 厦门哪家网站建设最好阿里巴巴官网招聘网站
  • 苏州网站建设开发哪家好网站系统类型
  • 杭州专业制作网站wordpress忽然有一些照片显示不
  • 网站培训制度淘宝店铺怎么装修
  • 郑州营销型网站建设工作室爱给网官网免费素材
  • seo网站推广报价深圳市建设平台
  • 给你一个新的网站怎么做盐城市城南新区建设局网站
  • 做淘宝客需要自己建网站吗免费建站系统对比
  • 网站制作答辩ppt怎么做成都市住建局平台官网
  • 网站开发及维护招聘黄骅港旅游景点大全
  • 网站建设找哪一家比较好徐州网站建设优化宣传
  • 移动端网站开发多少钱网络运营工作内容
  • 网站建设平台是干什么的世界总人口实时数据
  • 网站优化公司方案企业招聘官网