<issue_start><issue_comment>Title: Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
username_0: <!-- Step 1 [READ THIS] -->
<!--
Are you in the right place?
  * For issues or feature requests related to __the code in this repository__
    file a Github issue.
    * If this is a __feature request__ make sure the issue title starts with "FR:".
  * For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
    with the firebase tag.
  * For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
    google group.
  * For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    [Firebase support channel](https://firebase.google.com/support/).
-->

<!-- Step 2 -->

### [REQUIRED] Describe your environment

  * Operating System version: Ubuntu 18.04.1 LTS
  * Browser version: Firefox 63.0
  * Firebase SDK version: 
    * `firebase --version`: 6.2.2
    * `yarn list firebase @firebase/testing`: firebase@5.7.1 @firebase/testing@0.5.1
    * `node --version`: v8.10.0
  * Firebase Product: firestore

<!-- Step 3 -->

### [REQUIRED] Describe the problem

When creating a document that uses two firebase.firestore.FieldValue.serverTimestamp() using the firestore test app, the Firestore client throws an unhandled promise, logging an error containging "Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)". 

If I create a model with only one serverTimestamp() field, the error does not occur. Is only one serverTimestamp allowed in a document? I didn't find any mention of this limitation in the docs.

```
(node:10345) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
[2018-12-23T17:29:49.131Z]  @firebase/firestore: Firestore (5.5.9): FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
[2018-12-23T17:29:49.134Z]  @firebase/firestore: Firestore (5.5.9): INTERNAL UNHANDLED ERROR:  Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
    at fail (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
    at assert (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:161:9)
    at TransformMutation.serverTransformResults (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:4024:9)
    at TransformMutation.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:3976:37)
    at MutationBatch.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7521:37)
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:12498:33
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:63
    at PersistencePromise.wrapUserFunction (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7770:26)
    at PersistencePromise.wrapSuccess (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:25)
    at PersistencePromise.next (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7745:29)
(node:10345) UnhandledPromiseRejectionWarning: Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
    at fail (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
    at assert (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:161:9)
    at TransformMutation.serverTransformResults (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:4024:9)
    at TransformMutation.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:3976:37)
    at MutationBatch.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7521:37)
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:12498:33
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:63
    at PersistencePromise.wrapUserFunction (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7770:26)
    at PersistencePromise.wrapSuccess (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:25)
    at PersistencePromise.next (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7745:29)
(node:10345) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
(node:10345) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7258
                        throw error$$1;
                        ^

Error: FIRESTORE (5.5.9) INTERNAL ASSERTION FAILED: server transform result count (1) should match field transform count (2)
    at fail (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:153:11)
    at assert (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:161:9)
    at TransformMutation.serverTransformResults (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:4024:9)
    at TransformMutation.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:3976:37)
    at MutationBatch.applyToRemoteDocument (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7521:37)
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:12498:33
    at /home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:63
    at PersistencePromise.wrapUserFunction (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7770:26)
    at PersistencePromise.wrapSuccess (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7784:25)
    at PersistencePromise.next (/home/jitl/src/firestore-test-error/node_modules/@firebase/firestore/dist/index.node.cjs.js:7745:29)
```

I'm not sure if the same issue occurs when writing to the production firestore. This issue is blocking my ability to test my firestore rules changes.
[Truncated]
const firebase = require('firebase')
require('firebase/firestore')
const ftest = require('@firebase/testing')
const app = ftest.initializeAdminApp({ projectId: 'test' })

const data = {
  createdAt: firebase.firestore.FieldValue.serverTimestamp(),
  updatedAt: firebase.firestore.FieldValue.serverTimestamp(),
}

async function test() {
  try {
  await app.firestore().collection('gremlins').doc('gremlin1').set(data)
  } catch (err) {
    console.log("caught error:", err)
  }
}

test()
```
<issue_comment>username_1: I'm guessing this is an issue with the emulator.  It should definitely work against production (and we have tests that do this).  @ryanpbrewster may be able to confirm.
<issue_comment>username_2: I ran into the same problem and have opened two almost equivalent issues:
https://github.com/firebase/firebase-tools/issues/1073
https://github.com/firebase/quickstart-nodejs/issues/47

I'm glad it's not a problem specific to my setup and you're looking into that.