【问题标题】:How to connect flutter with MongoDB如何将flutter与MongoDB连接起来
【发布时间】:2020-05-12 10:58:12
【问题描述】:

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

我想用flutter创建一个移动应用,不知道怎么连接flutter和MongoDB。

给我一些代码示例。

这是解决方案! (Click here)

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

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

【问题讨论】:

    标签: mongodb flutter dart flutter-packages


    【解决方案1】:

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

    【讨论】:

    • 如果我使用 nodejs 后端作为 rest api,那么它是否对性能不利?
    • 不,它不应该对性能不利。您无需在前端执行繁重的业务逻辑,您只需显示一个加载器,直到数据来自后端。我建议您阅读此 quora 问题中的第一个答案:Why do we need a back-end in web development? Can't the front-end directly send requests to the database?
    • 我使用哪个前端框架或库来获得最佳性能。 (忽略反应)
    • 每个库的框架,如果你知道如何使用它是好的,如果你知道如何使用它,你可以获得良好的性能,它的局限性和它是如何工作的。这不是像去使用它那样的直接答案,它会更好,所有的东西和推荐一个好的框架都需要长时间的讨论。如果你现在需要一个答案,那就随心所欲。
    【解决方案2】:

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

    希望下面的代码 sn-p 有帮助!!

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

    【讨论】:

    • 地图集呢?
    猜你喜欢
    • 2019-07-16
    • 2020-07-22
    • 1970-01-01
    • 2019-10-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    相关资源
    最近更新 更多