How to connect flutter with MongoDB

后端 未结 3 2020
慢半拍i
慢半拍i 2020-12-21 15:25

I have a website build with node js and MongoDB and I want to create a mobile app with flutter and I don\'t know how to connect flutter with MongoDB.

give me some co

相关标签:
3条回答
  • 2020-12-21 16:01

    Import flutter library mongo_dart and connect to the database. mongo_dart Server-side driver library for MongoDB implemented in pure Dart.

    I hope the below code snippet helps !!

    import 'package:mongo_dart/mongo_dart.dart' show Db, DbCollection;
    class DBConnection {
    
      static DBConnection _instance;
    
      final String _host = "DATABASE SERVER";
      final String _port = "DATABASE PORT";
      final String _dbName = "DATABASE NAME";
      Db _db;
    
      static getInstance(){
        if(_instance == null) {
          _instance = DBConnection();
        }
        return _instance;
      }
    
      Future<Db> getConnection() async{
        if (_db == null){
          try {
            _db = Db(_getConnectionString());
            await _db.open();
          } catch(e){
            print(e);
          }
        }
        return _db;
      }
    
      _getConnectionString(){
        return "mongodb://$_host:$_port/$_dbName";
      }
    
      closeConnection() {
        _db.close();
      }
    
    }
    
    0 讨论(0)
  • 2020-12-21 16:08

    Answer by Sandeep Krishna is correct but if you already have a Nodejs backend then expose REST API and connect with Flutter using http, dio or other similar packages. As connecting frontend directly to database is bad. Its just a advice.

    0 讨论(0)
  • 2020-12-21 16:23

    As far I'm working with flutter,It's better to create a system that been built from Back-end and Front-end, Here I created an example, with flutter web and node Js in CentOS server:

    https://github.com/nimr77/Nginx-with-flutter-mongoDb-and-Npm the Nodejs will be the interface between the server and the app, and the Nginx is the HTTP server, our Lovely flutter will be the website That will manage the database.

    I hope it will help you !

    0 讨论(0)
提交回复
热议问题