MongoDB中是否有与Oracle Decode功能相同的功能?

时间:2017-01-19 19:03:30

标签: mongodb decode

在Oracle而不是为每个可能的ORDER BY子句编写一个查询,您可以指定一个DECODE函数来评估用户的选择,并动态地改变ORDERY BY,如下所示:

SELECT . . .
 FROM   emp
GROUP
      BY DECODE(i_grouping_col,'E',emp_no,'D',dept_no);

有没有办法在MongoDB中练习解码功能?

1 个答案:

答案 0 :(得分:0)

是的,有db.collection.group()函数可用于执行您要执行的操作,但由于各种限制,它已从mongodb版本3.4中删除。

一个例子是

db.orders.group(
   {
     key: { ord_dt: 1, 'item.sku': 1 },
     cond: { ord_dt: { $gt: new Date( '01/01/2012' ) } },
     reduce: function ( curr, result ) { },
     initial: { }
   }
)

SQL等价物是

SELECT ord_dt, item_sku
FROM orders
WHERE ord_dt > '01/01/2012'
GROUP BY ord_dt, item_sku 

您可以阅读更多相关信息Here