fixtures 배열의 객체 하나하나를 몽고DB에 입력하려면 fixture.js에서 AddressBook(미티어 컬렉션 오브젝트)의 insert 메서드를 사용해야 한다.
Projects/addressBook/server/fixture.js
...생략... Meteor.startup(() => { if(AddressBook.find().count() === 0){ console.log("데이터가 존재하지 않습니다. fixture 데이터를 입력합니다."); /* 10건만 등록해보자 */ for(var i=0,len=10; i<len;i++){ AddressBook.insert(fixtures[i]); } } });
Meteor.startup 메서드는 실행될 구문을 함수 형태(콜백 함수)로 전달받아 미티어를 처음 실행할 때 1번만 실행된다. 따라서 데이터가 없으면(AddressBook.find().count()의 반환값이 0이면) AddressBook.insert 메서드를 사용해 fixtures 배열의 오브젝트를 하나씩 생성했다.
정상적으로 실행되면 다음처럼 console.log에서 작성한 메시지를 확인할 수 있다.
~/Projects/addressBook$ meteor run
[[[[[ ~/Projects/addressBook ]]]]]
=> Started proxy.
=> Started MongoDB.
I20170617-15:06:26.226(9)? 데이터가 존재하지 않습니다. fixture 데이터를 입력합니다.
=> Started your app.
=> App running at: http://localhost:3000/