gpt4 book ai didi

javascript - 如何持久地将不同值从一个集合映射到另一个集合? meteor 蒙戈

转载 作者:行者123 更新时间:2023-12-03 03:05:34 24 4
gpt4 key购买 nike

有什么方法可以获取 mongodb 中某个特定字段(比如 collectionA)的所有唯一值,并将其映射到 collectionB,同时保持如果 collectionA 获取另一个新条目,collectionB 会自动更新?

so if collectionA has the following: 
{ itemCode: "aaa", purchaseOrder: "po1" }`
{ itemCode: "aaa", purchaseOrder: "po2" }
{ itemCode: "bbb", purchaseOrder: "po3" }

collectionB should have
{ itemCode: "aaa" }
{ itemCode: "bbb" }

如果条目进入 collectionA { itemCode: "ccc", buyOrder: "po4"}

collectionB automatically gets updated with
{ itemCode: "aaa" }
{ itemCode: "bbb" }
{ itemCode: "ccc" }

有没有一种有效的方法来实现这一目标?

最佳答案

第一部分只需使用 .upsert() 即可避免欺骗:

const A = CollectionA.find();
A.map( a => {
const itemCode = a.itemCode;
CollectionB.upsert({ itemCode },{ $set: { itemCode });
});

您可以通过首先使用 _.uniq() 查找 itemCode 的唯一值来进一步优化此功能。和/或仅查找 A 中那些在 B 中还没有值的元素。

第二部分可以通过观察者来完成。

A.observe({
added(a){
const itemCode = a.itemCode;
CollectionB.upsert({ itemCode },{ $set: { itemCode });
}
});

这里我们再次使用.upsert()来避免欺骗。

关于javascript - 如何持久地将不同值从一个集合映射到另一个集合? meteor 蒙戈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47183284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com