我是构建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)(例如2:“A,B,C”中的参数A(和)参数C大于200)
我希望动态构建条件并将它们从Node.js传递给MongoDB。
谢谢。
我认为这将属于过滤,排序,字段选择和分页的类别。在这种情况下,您不会更改路径,但会在路径末尾添加查询字符串。
获取居住在美国{host}/api/customer?location=us
的所有客户
获取居住在美国的所有客户,并且客户评级超过100 {host}/api/customer?location=us&rating>100
现在,在Node.js路由处理程序中,您将添加逻辑来处理查询字符串。
希望这可以帮助。