# @setValue

* 데이터를 저장하고 편집할 때 사용해요.
* 데이터를 단순히 저장하거나, 배열의 요소 중에 가장 처음 데이터를 가져오거나, 배열에 요소를 추가하는 등의 기능을 수행해요. (배열은 같은 타입의 데이터들로 이루어진 유한 집합으로 정의돼요.)
* setValue안에는 Object형태의 데이터가 입력돼요.

> Object 형태의 데이터는 key(이름): value(값) 으로 저장되는 데이터의 형태예요.

* Object에서 key는 tmpDocument에 저장될 이름이에요.
* Object에서 value는 tmpDocument에서 key로 입력한 이름에 실제로 저장될 데이터에 대한 정보예요.

**사용 방법**

<figure><img src="https://3976660509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDgfvhQgmY9NbRK0Sln7j%2Fuploads%2FtMBDVDxVOsfIo727HSBb%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202024-01-16%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%204.23.46.png?alt=media&#x26;token=21ff984d-1daa-4b08-86c4-389d295a8e32" alt=""><figcaption></figcaption></figure>

1. 로직 설정 ➡︎ If When, Where에 원하는 값 입력 ➡︎ New data query 를 펼쳐 주세요. &#x20;
2. Event에서 @setValue를 드래그앤드롭하여 원하는 위치(flows, #ifTrue, #ifFalse, @for)에 넣어주세요.

<div align="left"><figure><img src="https://3976660509-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDgfvhQgmY9NbRK0Sln7j%2Fuploads%2Fnv0zWrBGVdJCj6muWaXN%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202024-01-16%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%204.45.08.png?alt=media&#x26;token=9d64759d-9f13-480d-9cb5-2227088e263a" alt="" width="563"><figcaption></figcaption></figure></div>

위의 예시 이미지를 보면&#x20;

1. "value1"이란 key에 "newDocument.title"이라는 value를 저장하였고,&#x20;
2. "listValue"라는 key에는 "preDocument.value2"의 값을 추가하고 있어요.&#x20;
3. "objectValue"라는 key에는 "tmpDocument.listValue"의 첫 번째 값을 저장하고 있어요.&#x20;

**필드 설명**

* \#first (List, 동적 키, 동적 Object) (최종형 List) (필수)&#x20;

  List 의 첫번째 요소를 가져와요.
* \#exception(Object) (선택)&#x20;

  서버에서 처리 중 예외가 발생했을 경우 예외 코드를 따로 설정해요.
* \#add(모든 타입) (필수)&#x20;

  key의 자료형이 List일 경우에만 사용 가능하며 지정된 요소가 List에 들어가요.
* \#deduplicateDocument (List, 동적 키, 동적 Object) (최종형 List) (필수)&#x20;

  자료형이 List이고 내부 데이터들의 자료형이 Document일 경우 \_id를 참조해 중복을 삭제하고 저장해요. **중복 없는 데이터가 반환되기 위해, 반드시 내부 데이터들의 자료형이 Document이고 \_id값을 가지고 있어야 해요.**&#x20;
* \#removeKey (Object) (필수)

  tmpDocumentKey의 자료형이 Object일 경우에만 사용 가능하며 Object 내부의 원하는 key값 쌍을 제거해요.&#x20;

  * base (Object, 동적 키, 동적 Object) (최종형 Object) (필수)&#x20;

    key 를 제거할 대상 Object예요.
  * keys (List) (필수)&#x20;

    제거할 key예요.

2024.01.16 Jinny
