2015-12-27 72 views
0

mongo集合中的自我生成的object_id是否在所有集合中唯一?假設我的book_category集合,我必須將user_id獲取所有用戶保存的書籍類別。mongodb中object_id的唯一性

但是如何更新book_category的數據?我應該把user_id放入我的圖書分類集合嗎?

module.exports.updateCategory = function(category_id,category,callback){ 
    var update = { 
     name: category.category_name 
    } 

    Product_category.findOneAndUpdate({"_id":category_id},update,callback); 
} 

如果id是unquie橫跨整個我的應用程序然後上面的代碼工作正常。在我的情況下你會做什麼?

+0

@RobertMoskal你可以對我的情況發表你的意見嗎? –

+0

從您發佈的代碼中,我看不到任何交叉收集問題出現在哪裏。您通過它的ID選擇集合中的文檔並更新字段。 –

+0

@RobertMoskal只是想象它是一個圖書館系統,每個用戶都有書和book_category,你會在book_category中存儲user_id嗎?當你想更新某些東西時,你會做雙重檢查嗎?比如檢查user_id和obj_id。 –

回答

0

每個本書有一個id和一個用戶id,但該id足以唯一標識本書。你有書類兩個共同的選擇:

它可以是由一個 ID的集合和類別ID以及由書類別唯一確定的ID。 類別 id指向一些其他類別的集合。如果你想要一本書的所有類別,你可以通過查詢書 id查詢。如果你想對所有類別的書籍,您可以通過類別 ID

根據您的使用情況查詢,你也可以自己拿的類從每本書 ID的數組。

在任何情況下,我都看不到有任何理由涉及用戶ID。我也沒有看到任何交叉收集ID衝突的可能性。