13

I'm creating a android app using flutter and Firebase Firestore. I would like to add that new FieldValue.increment functionality which is apperently available in Firebase since this april but i've got an error: The method 'increment' isn't defined for the class 'FieldValue'.

Here is my code that i've tried:

onTap: (){ Firestore.instance.document('docRef').updateData({"numberOfDocs": FieldValue.increment(1)}); } 

I'm just a beginner programmer but when i checked that field_value.dart file it's missing "increment" implementation. So, is it right answer to say that flutter team didn't yet implemented that functionality?

I've seen a tutorial where increment is already used in some .js code but for me it's not working. https://www.youtube.com/watch?v=8Ejn1FLRRaw

3 Answers 3

23

This has been added to the cloud_firestore Flutter plugin as of version 0.10.0.

You can use FieldValue.increment with a double (e.g. FieldValue.increment(1.0)) or an int (e.g. FieldValue.increment(2)).


Here is the relevant pull request.

If anyone reads this before the version is pushed to Pub: The link to the version will not yet work, but in the meantime you can use this Git commit, which contains a fix I did.

Sign up to request clarification or add additional context in comments.

Comments

17

User that Import:

import 'package:cloud_firestore/cloud_firestore.dart'; 

For Increment:

await FirebaseFirestore.instance.collection('post').doc(postId).update({"like": FieldValue.increment(1)}); 

For Decrement:

await FirebaseFirestore.instance.collection('post').doc(postId).update({"like": FieldValue.increment(-1)}); 

Comments

8

As far as I can see in the change log for FlutterFire, the increment operator has not been added yet.

I added a feature request to the repo.

2 Comments

Thanks Peter. I was just browsing the CloudFirestore plugin code myself, with the same findings. I'll add an issue/FR for it.
This seems to be in the master repo now: github.com/flutter/plugins/pull/1491

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.