在Node.js REST服务中嵌入条件业务逻辑的正确方法是什么?

时间:2018-03-01 08:13:49

标签: node.js mongodb mongoose

我是构建Node.js / MongoDB应用程序的新手。 我理解为简单的CRUD操作设置MongoDB集合的基础知识。

但是,我仍然想要弄清楚以下情况 -

让我们假设我们有一个名为 - Customer (CustomerId, CustomerName, CustomerLocation, CustomerRating)

的集合

现在在Node.js层中设置了基本的REST服务,如果我想更新客户集 - 那么我们将进行以下设置:

customerRouter.route('/api/customer').put() - >将更新集合中的所有客户记录。

但是,如果还有其他情况需要有条件地更新集合中CustomerLocation = 'US'CustomerRating > 100的所有客户记录,那么我该如何设置此类业务从Node.js传递到MongoDB以包括执行更新之前的条件的条件?

我在这里没有理解的是,要更新的资源保持不变,要更新的记录数可以是“全部”或“条件更新”。

如何从Node.js层传递这些条件?

这里需要注意的是,条件更新并不总是硬编码的静态条件。条件参数应动态框架。

  • 列表项

(例如:1:参数A是“A”(或)参数B小于< 50) (例如:“A,B,C”中的参数A(和)参数C大于200)

我希望动态构建条件并将它们从Node.js传递给MongoDB。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为这属于过滤,排序,字段选择和分页的类别。在这种情况下,您不会更改路线,但会在路线末尾添加查询字符串

让所有居住在美国的客户{host}/api/customer?location=us

获取所有居住在美国且客户评分超过一百{host}/api/customer?location=us&rating>100

的客户

现在,在Node.js路由处理程序中,您将添加逻辑来处理查询字符串。

希望这有帮助。