使用NodeJ和mongoose验证MongoDb $ graphLookup

时间:2019-04-29 12:04:36

标签: node.js mongodb typescript mongoose

我具有以下类别的数据结构(为简洁起见,有限的详细信息)

[{ "_id": "5cc6e374afd091d359f1528f", "cat_name":"Winter Prodcuts", "cat_code":"WP", "parent_id":null }, { "_id": "5cc6e380171fc2244afbac64", "cat_name":"Wearables", "cat_code":"WW", "parent_id":"5cc6e374afd091d359f1528f" }, { "_id": "5cc6e45b8b90925ab7cf8f3b", "cat_name":"Wollean Sweaters", "cat_code":"WS", "parent_id":"5cc6e380171fc2244afbac64" }] 以下是产品

[{ "_id": "5cc6e4eb125554329a7d9e17", "prod_name":"Winter Sweaters (Male)", "prod_code":"WWWPWS-WSM", }, { "_id": "5cc6e5436560e60381059bf0", "prod_name":"Winter Sweaters (Feale)", "prod_code":"WWWPWS-WSF", }, { "_id": "5cc6e54bd874519a25c7a21c", "prod_name":"Winter Sweaters (Unisex)", "prod_code":"WWWPWS-WSU", }] 产品SKU或代码的格式为

{AllCategoryCodes}-{ProductCode}

  

在创建/更新产品时,我要验证是否输入了   产品代码提供了必需/有效的类别代码路径或   不是。

例如,在上面的示例中,它是有效的-即 WWWPWS-WSM WWWPWS-WSF WWWPWS-WSU 均有效 但是,如果有人尝试将其存储在 WWPW-WSM 下,则它将无效,因为它仍然具有子类别。

我尝试使用MongoDb $ graphLookup查询可用于查找具有名称的父对象的数据。但是我有类似...的担忧

  1. graphLookup与名称一起使用(我不确定它是否可以与_id一起使用),如果名称更改,这有点冒险。
  2. 使用自上而下的方法(例如btree)进行查找需要快速。

伙计们,请提出一些超级主意。 谢谢

0 个答案:

没有答案