mongodb - $addToSet如何指定字段来作为是否存在的检查字段
ringa_lee
ringa_lee 2017-05-02 09:25:30
0
1
895

有个文档,它的一个属性,是一个文档数组,我想往数组里面添加一个文档,如果存在,则不添加,这里的判断是否存在是如何判断的,是所有属性都相同才算?能不能指定一个属性
{_id:0,
user:[{id:1,name:a}]
}
比如,上面这条记录,我想往user里面添加数据,如果id为1,则表示已经存在,则不添加,否则就添加到user数组中
$addToSet能实现这种需求不
谢谢

ringa_lee
ringa_lee

ringa_lee

모든 응답(1)
世界只因有你

$addToSet으로는 필요한 하위 문서의 고유성을 얻을 수 없습니다. 참고할 수 있는 두 가지 아이디어가 있습니다:

1. 비즈니스에서 복합 고유 인덱스를 만들 수 있는지 확인해보세요

예: 텍스트 {_id, name, number,user[{id,name}]}의 name 및 user.id에 대한 고유 복합 인덱스를 생성합니다.

2. 코드 제어

으아악

업데이트하기 전에 $ne 또는 $nin을 사용하여 기존 ID에 user.id가 있는지 확인하세요. 존재하지 않으면 업데이트할 수 있습니다.

참고로.

MongoDB를 사랑해주세요! 재미있게 보내세요!

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿