Node.js mongodb中object_id的唯一性
mongo集合中自生成的对象_id是否在所有集合中都是唯一的?假设我的图书类别集合,我必须输入用户id才能获取用户保存的所有图书类别 但是如何更新图书类别的数据呢?我应该把用户id也放在我的图书类别集合中吗Node.js mongodb中object_id的唯一性,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,mongo集合中自生成的对象_id是否在所有集合中都是唯一的?假设我的图书类别集合,我必须输入用户id才能获取用户保存的所有图书类别 但是如何更新图书类别的数据呢?我应该把用户id也放在我的图书类别集合中吗 module.exports.updateCategory = function(category_id,category,callback){ var update = { name: category.category_name } Produc
module.exports.updateCategory = function(category_id,category,callback){
var update = {
name: category.category_name
}
Product_category.findOneAndUpdate({"_id":category_id},update,callback);
}
如果我的整个应用程序的id都是unquie,那么上面的代码就可以正常工作。在我的情况下,你会怎么做?每本书都有一个id和一个用户id,但是id足以唯一地标识书。对于图书类别,您有两种常见选择: 它可以是由图书id和类别id以及图书类别唯一标识id组成的集合。类别id指向其他类别集合。如果要为一本书查询所有类别,请按图书id查询。如果要为一个类别查询所有书籍,请按类别id查询 根据您的用例,您还可以简单地从每本书中拿出一组类别ID
在这两种情况下,我都看不到涉及用户id的任何理由。我也看不到交叉收集id冲突的任何可能性。@RobertMoskal你能对我的情况给出你的意见吗?从你发布的代码中,我看不到交叉收集问题出现在哪里。您根据文档的id在集合中选择文档并更新一个字段。@RobertMoskal想象一下这是一个图书馆系统,每个用户都有图书和图书类别,您会将用户id存储在图书类别中吗?当你想更新一些东西时,你会做双重检查吗?比如检查用户id和对象id。