如何在mongodb中以大写形式获取搜索结果输出

时间:2017-02-18 06:27:29

标签: mongodb

如何在MongoDB中以大写形式获取输出字段。

考虑下面的数据集,我们希望以特殊字段的大写形式返回输出(假设提交'type')

数据:

enter image description here

如果我们运行查询它返回错误,如下所示无法解析,请建议一个解决方案,以大写字母获取字段'type'输出。 db.products.find([{$ TOUPPER:”类型”},{类型:”墙”}])

2 个答案:

答案 0 :(得分:1)

您需要使用聚合并将toUpper给出的值作为新字段进行投影。请参阅$toUpper documentation page

中的示例
db.inventory.aggregate(
   [
     {
       $project:
         {
           item: { $toUpper: "$item" },
           description: { $toUpper: "$description" }
         }
     }
   ]
)

注意$ toUpper的结果如何用作新字段项的值。

尝试使用您的数据。我创建了一个测试集合,它对我有用。

db.products.aggregate(
   {
      $match: {
         "type": "wall"
      }
   },
   {
      $project: {
         "upperCaseType": {
            $toUpper: "$type"
         }
      }
   }
);

匹配验证type是否为“墙”,投影表示仅包含大写type字段的值。可能有一种方法可以在没有聚合的情况下做到这一点,但我不知道它。

答案 1 :(得分:0)


    db.products.find({ "name": { $regex: "abc" } });

我们可以使用$ regex运算符来查找大写或小写的文本。