如何将 Flutter 与 MongoDB 连接

Roh*_*had 6 mongodb dart flutter flutter-packages

我有一个使用 Nuxt JS 和 MongoDB 构建的网站。

我想用flutter创建一个移动应用程序,但我不知道如何将flutter与MongoDB连接起来。

给我一些代码示例。

这是解决方案!(点击这里

实际上,我发布了一篇关于它的博客,请随时查看解决方案!

  1. 适用于 MongoDB 和MongoDB Atlas
  2. 初学者指南

小智 17

导入flutter库mongo_dart并连接数据库。 mongo_dart在纯 Dart 中实现的 MongoDB 服务器端驱动程序库。

我希望下面的代码片段有帮助!!

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();
  }

}
Run Code Online (Sandbox Code Playgroud)


Rat*_*yya 9

Sandeep Krishna 的回答是正确的,但如果您已经有一个 Nodejs 后端,那么公开 REST API 并使用 http、dio 或其他类似包与 Flutter 连接。因为将前端直接连接到数据库是不好的。它只是一个建议。

  • 不,这不应该对性能造成不良影响。您不在前端执行繁重的业务逻辑,您只需显示一个加载器,直到数据来自后端。我建议你阅读这个 quora 问题中的第一个答案:[为什么我们需要 Web 开发后端?前端不能直接向数据库发送请求吗?](https://www.quora.com/Why-do-we-need-a-back-end-in-web-development-Cant-the-前端直接向数据库发送请求) (2认同)