我正在尝试根据不同的数组条件更新数组中的特定元素。
假设我有以下文件
{'user': 'a', 'segments': ['segment1', 'segment2'], 'scores': [.5, .5]}
{'user': 'b', 'segments': ['segment3', 'segment1'], 'scores': [.5, .5]}
{'user': 'c', 'segments': ['segment2', 'segment5'], 'scores': [.5, .5]}
{'user': 'd', 'segments': ['segment3', 'segment1'], 'scores': [.5, .5]}
{'user': 'e', 'segments': ['segment1', 'segment2'], 'scores': [.5, .5]}
对于以下用户-['a','b','c']我想添加“ segment2”(使用“ $ addToSet”),并在“得分”字段中添加1.0的分数,但在正确的索引。如果“ segment2”已经存在,我想更新正确的分数。
在上面的示例中,我想进行更改以导致以下结果
{'user': 'a', 'segments': ['segment1', 'segment2'], 'scores': [.5, 1.]}
{'user': 'b', 'segments': ['segment3', 'segment1', 'segment2'], 'scores': [.5, .5, 1.]}
{'user': 'c', 'segments': ['segment2', 'segment5'], 'scores': [1., .5]}
{'user': 'd', 'segments': ['segment3', 'segment1'], 'scores': [.5, .5]}
{'user': 'e', 'segments': ['segment1', 'segment2'], 'scores': [.5, .5]}