首页 > 其他 > 详细

表单生成器(Form Builder)之查询同一表中两个字段相等的数据

时间:2020-10-14 00:21:12      阅读:34      评论:0      收藏:0      [点我收藏+]

  之前使用MySQL、MSSQL的时候经常会遇到这种情况:查询同一表中某两个字段相等的数据,也就是说业务中有这种需求。这不我们又遇到了,但是此时我们使用的是mongodb。在mongodb中不像MySQL、MSSQL中那么简单,据说可以使用$where实现,但是我不太喜欢这种方式,并且我们的存储结构是这样:表单生成器(Form Builder)之表单数据存储结构mongodb篇 (用户可以任意的添加字段),废了半天劲儿才弄出来,这里记录一下,下面看一下语句:

db.FormInstace.find({
  "FormItems.key":{$in:["1572493551001","1572493551006"]},
  $expr: {
    $eq: [
      { $arrayElemAt: ["$FormItems.value", {"$indexOfArray":["$FormItems.key","1572493551001"]}] },
      { $arrayElemAt: ["$FormItems.value", {"$indexOfArray":["$FormItems.key","1572493551006"]}] },
    ]
  }
});

  "1572493551001","1572493551006"表示表中的两个字段,具体的含义可以查看:表单生成器(Form Builder)之伪造表单数据mongodb篇

  "FormItems.key":{$in:["1572493551001","1572493551006"]} 添加这个筛选条件的原因是:要比较两个字段,前提是两个字段都必须存在。

  这篇笔记好短啊!

表单生成器(Form Builder)之查询同一表中两个字段相等的数据

原文:https://www.cnblogs.com/du-blog/p/13812339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!