appstitch_mongodb 1.0.0-prerelease
appstitch_mongodb: ^1.0.0-prerelease copied to clipboard

Appstitch client for MongoDB CRUD operations.

Appstitch MongoDB #

Serverless Mongo DB Integrations for Appstitch

Platforms #

  • iOS
  • Android
  • Web

Usage #

Create a document #


void insertUser() async {
    final user = User(
        email: "steve@theavengers.com",
        firstName: "Steve",
        lastName: "Rogers",
        dateOfBirth: DateTime(1918, 07, 04)).toJson();


    final result = await db
        .collection("users")
        .insert(user);

    if (result.success!) {
        final userID = result.id!;
    } else {
        print(result.message!);
    }
}

Fetch one document #


void fetchUser() async {

    final result = await db
        .collection("logging")
        .id(userID)
        .include(
            ["email", "firstName",
        "dateOfBirth"])
        .fetch();

    if (result.success!) {

        user = User.fromJson(result.doc!);
    } else {
      print(result.message!);
    }
}

Fetch multiple documents #


 void fetchUsers() async {
    startSpinner();

    final result = await db
        .collection("logging")
        .where("email", OperatorType.equal, "s.rogers@theavengers.com")
        .limit(20)
        .fetch();

    if (result.success!) {
        final users = result.docs!
    } else {
      print(result.message!);
    }
  }

Read Options

OptionTypeDescription
collectionStringRequired. Collection name
idStringReturn a specific document. Either 1 document is returned or null
wherestring, OperatorType, objectA query object used filter documents
includeString[]Return specific document fields. The _id field is, by default, included in the output documents.
excludeString[]Prevent specific document fields from being return. The _id field is, by default
limitnumberLimits the number of documents. Default 50 returned
startAfternumberSkips the first n documents where n is the specified skip number and passes the remaining documents

Update a document #


void updateUser() async {
    user.email = "test@google.com";

    final result =
        await db.collection("logging").id(userID).update(user.toJson());

    if (result.success!) {
      print("Successfully Updated");
    } else {
      print(result.message!);
    }
  }

Delete a document #

void deleteUser() async {

    final result = await db
    .collection("logging")
    .id(userID).delete();

    if (result.success!) {
        print("Successfully Deleted");
    } else {
      print(result.message!);
    }
  }

Write Options

OptionTypeDescription
collectionStringRequired. Collection name
idStringReturn a specific document. Either 1 document is returned or null
wherestring, OperatorType, objectA query object used filter documents

Algolia Integration #

The Algolia integration keeps your MongoDB & Algolia data in sync. The syncData option is available on all write operations (insert, update, delete).

Example

    final result = await db
    .collection("users")
    .insert(_user, WriteOptions(syncData: true))

Install #

appstitch_core:   ^1.0.4
appstitch_mongodb: ^1.0.0

Initialize #

import 'package:appstitch_core/options.dart';
import 'package:appstitch_core/core.dart';
import 'package:appstitch_mongodb/mongodb.dart';

Core core = Core();
MongoDB db = MongoDB();

@override
void initState() {
  super.initState();

  final options = Options(appstitchKey, clientID: clientID);
  core.initialize(options);

}
0
likes
100
pub points
25%
popularity

Publisher

appstitch.dev

Appstitch client for MongoDB CRUD operations.

Homepage

Documentation

API reference

License

BSD (LICENSE)

Dependencies

appstitch_core, flutter, intl, json_annotation

More

Packages that depend on appstitch_mongodb