嗯,我正在計劃一個集合模式,我已經決定如何在標籤字段中嵌入數據。MongoDB最佳實踐查詢WHERE IN與標籤和孩子
我有一個總彙命名的產品:
products
->_id
->product_name
->tags
我有那麼一個標籤集合:
tags
->_id
->tag_name
和我有一個tags_child集合:
tags_childs
->_id
-> id_tag
->tag_child_name
現在我需要將標籤和tags_childs保存到產品集合中,所以我希望在產品集合中保存一個字段:
個標籤:[_id_tag]:[_ id_tag_child,_id_tag_child,...等等],[_ id_tag]:[_ id_tag_child,_id_tag_child,...等]
,但我認爲是不正確的做法,因爲我需要能夠查詢產品集合,通過標籤和child_tags過濾。
因此,舉例來說,我需要通過過濾產品: + PRODUCT_NAME: 'roastbeef' +標籤: '熱' +子標籤: '醬'
或過濾方式: + PRODUCT_NAME:「roastbeef 「 +標籤:‘熱’ +子標籤:」醬」 +子標籤:‘刀’ +標籤:‘晚餐’
過濾時父標籤總是需要,而子標籤都是可選的。
如何在最後執行正確的集合來完成這種類型的查詢?
我不明白的父/子標籤的概念。標籤是標籤。如果您想要製作強制性/可選過濾器,只需在原始標記文檔中添加「可選:真」字段即可。不需要有兩個集合。 –
你合併了標籤和子標籤集合嗎?對不起,我編輯了我的答案我錯過了1個字段的子標籤集合 – sbaaaang
問題是產品可以有標籤但不能有標籤子,所以我想我需要將它們分成兩個不同的集合,不是嗎?:P – sbaaaang