有个文档,它的一个属性,是一个文档数组,我想往数组里面添加一个文档,如果存在,则不添加,这里的判断是否存在是如何判断的,是所有属性都相同才算?能不能指定一个属性
{_id:0,
user:[{id:1,name:a}]
}
比如,上面这条记录,我想往user里面添加数据,如果id为1,则表示已经存在,则不添加,否则就添加到user数组中
$addToSet能实现这种需求不
谢谢
世界只因有你2017-05-02 09:27:30
$addToSet으로는 필요한 하위 문서의 고유성을 얻을 수 없습니다. 참고할 수 있는 두 가지 아이디어가 있습니다:
1. 비즈니스에서 복합 고유 인덱스를 만들 수 있는지 확인해보세요
예: 텍스트 {_id, name, number,user[{id,name}]}의 name 및 user.id에 대한 고유 복합 인덱스를 생성합니다.
2. 코드 제어
으아악업데이트하기 전에 $ne 또는 $nin을 사용하여 기존 ID에 user.id가 있는지 확인하세요. 존재하지 않으면 업데이트할 수 있습니다.
참고로.
MongoDB를 사랑해주세요! 재미있게 보내세요!