我如何将同一数据库中的这两个集合合并为一个文档

时间:2021-06-14 06:41:24

标签: javascript database mongodb mongoose merging-data

我正在开发一个库存管理应用。我必须在我的数据库中收集。一个包含像这样上传的产品信息和用户名

{
"_id" : ObjectId("60c6f5d5a9304624908d2b9f"),
"username" : "valorant",
"id" : 1231331414,
"barcode" : "1234434",
"productName" : "Fuse",
"price" : 1321,
"quantity" : 12314,
"__v" : 0

}

还有另一个集合,其中包含用户数据和一个名为“store”的数组,其中必须根据用户名相应地保存他们上传的产品信息。我想系统地合并这些。用户集合看起来像这样

{
    "_id" : ObjectId("60b895a2ccaf390c88932eec"),
     "store" : [],
    "username" : "valorant",
    "email" : "valo@123.com",
    "job" : "Product Seller",
    "password" : "$2a$08$oD1LOM1nEXIqpF7LpwbVVui3NFlQxpzySrNsi5dX85sM/KqmdCzPC",
    "__v" : 0
}

请使用mongoose和Javascript给出解决方案

我正试图解决这个问题,但无法解决。任何有用的帮助表示赞赏。提前致谢

1 个答案:

答案 0 :(得分:0)

要在集合之间进行连接,您最好使用 _id(由 MongoDB 生成默认值)。 例如,要存储用户产品,您可以创建一个如下所示的集合:

{
 _id:ObjectId("60b895a2ccaf390c88932eec"),
 product_id:"sdb895a2ccaf390c889485fd",
 user_id:"80b895a2ssaf390c88932ffc",
 //You can use other information
}

这种方法可以轻松处理集合和管理数据,您可以创建连接在一起的这么多集合。 要查找用户产品,您可以使用以下代码:

db.products.find({user_id:"80b895a2ssaf390c88932ffc"});
相关问题