array._id! = 'someid'와 같은 쿼리를 어떻게 수행하는지 궁금합니다.
다음은 내가이 작업을 수행해야하는 이유의 예입니다. 사용자가 자신의 계정 이메일 주소를 업데이트하려고합니다. 그들이 로그인 할 때이 이름을 사용하면 고유해야합니다. 계정을 업데이트 할 때 새 이메일이 다른 계정에 존재하지 않는지 확인해야하지만 계정에 이미있는 이메일은 변경하지 않았으며 프로필의 다른 내용은 변경되지 않았습니다.).
다음은 사용 해본 코드입니다. 오류는 발생하지 않지만 항상 0을 반환하므로 오류가 발생하지 않도록합니다.
Schemas.Client.count({ _id: client._id, 'customers.email': email, 'customers._id': { $ne: customerID } }, function (err, count) {
if (err) { return next(err); }
if (count) {
// it exists
}
});
$ ne 또는 $ not를 사용해야한다고 생각하지만 ObjectId를 사용하여이 온라인에 대한 예제를 찾을 수 없습니다.
예 클라이언트 데이터 :
{
_id: ObjectId,
customers: [{
_id: ObjectId,
email: String
}]
}
이 내가 생각 해낸 것보다 훨씬 청소기, 나는 대답으로이 표시됩니다. 감사! – codephobia