내 문서는 다음과 같습니다 : 나는 문서를 업데이트 할 때, 난 단지 "draft"
또는 모두 "draft"
및 "published"
를 업데이트다른 문서 속성을 기반으로 동적 속성을 가져 오는 방법은 무엇입니까?
{
draft: "<draft_content>",
published: "<published_content>"
}
. 그래서 문서는 다음과 같이 보일 수 있습니다 :
{
draft: "B",
published: "A"
}
or
{
draft: "B",
published: "B"
}
을 내가 필요한 것은, 실제로 draft
및 published
필드를 반환하지 않고, 정보 draft === published
경우 모든 문서를 검색하는 것입니다. SQL에서 나는 다음과 같이 이것을 할 것입니다 :
select (draft = published)::boolean as is_published from documents;
MongoDB에서 그렇게 할 수 있습니까?
나는 각 문서에 isPublished: true/false
플래그를 저장에 대해도 생각했지만, 내가 draft
를 업데이트하고 때 draft
이 published
여부 다른 경우 확인할 수 없습니다. 예를 들어 서류가 {draft: "A", published: "A", isPublished: true}
인 경우 {draft: "A", isPublished: false}
으로 업데이트하면 초안이 게시 된 것과 동일하더라도 isPublished의 상태가 변경됩니다.
좋습니다. "초안"및 "게시"검색을 피하려면 클라이언트 측에서 비교할 각 해시를 계산하고 저장해야합니다. – user606521