【问题标题】:dart authentication system with nosql database带有nosql数据库的dart认证系统
【发布时间】:2014-06-13 17:25:50
【问题描述】:

我正计划编写一个带有用户身份验证系统的 dart web 应用程序,我的意思是注册、登录等。

为了管理用户信息,我需要一个数据库,我正在考虑使用 nosql 数据库。我在网上搜索,发现了两个非常有趣的nosql数据库,mongodb和couchdb。

现在我的问题是,我应该选择哪一个,哪个为飞镖提供良好的驱动程序 api?我也听说过 riak,但我认为它不像 mongodb 或 couchdb 那样流行。

【问题讨论】:

  • 问问自己,为什么你认为你需要 NoSQL?你一天会有无数次读/写吗?您需要运行什么样的查询?您需要提供更多关于您的预期使用场景的信息,然后任何人才能就此提供任何连贯的建议。
  • 提出更多问题。您是否需要一个灵活的模式,您是否阅读过 CAP 定理及其对 MongoDB、CouchDB 等的影响。
  • 我听说过关于 nosql 数据库的好消息,它具有高可扩展性且易于使用,但如果对普通 sql 使用是否有意义,我不知道。我计划管理 10000 个用户。
  • NoSQL 很棒,但它适用于某些用例。 10,000 个用户不一定很多。这取决于您对它们有多少数据。一天同时读/写多少次?是否需要移动,需要多少复制,需要master-master,master-slave,什么类型的查询。变量很多。
  • 我需要高度可扩展的数据库技术,今天它将管理 10000 个用户,但几年后它会是更多的用户,希望如此。关于读/写操作,会很多,因为它将是一个社交网络,包括您可以上传图像的地方。所以我需要意见,什么是最适合我的网络应用程序的。

标签: mongodb dart couchdb


【解决方案1】:

我不知道你是否真的需要一个 noSql 数据库,但对我来说更容易使用的是 mongoDB。文档很好,你可以找到很多实现。

你可以在这里找到一个包:mongo_dart 使用起来非常简单:

import 'package:mongo_dart/mongo_dart.dart';

Future<String> getBlogData([String category = '']) {
    print(category);
    Completer c = new Completer();
    _db = new Db("mongodb://127.0.0.1/mysite");
    _db.open().then((o) {
       String data = "[";
       DbCollection collections = this._db.collection("blog_post");
       collections.find(where.sortBy("_id", descending: true)).forEach((v) {
          print(v.runtimeType);
          data += JSON.encode(v) + ",";
       }).then((e) {
         data = data.substring(0, data.length-1);
         data += "]";
         c.complete(data);
       });
     });
    return c.future;
 }

void main() {
    getBlogData("news").then(print);
}

【讨论】:

  • 我也不相信,但我同意 MongoDB 很好用。
猜你喜欢
  • 1970-01-01
  • 2017-05-15
  • 2018-06-08
  • 2014-06-19
  • 1970-01-01
  • 2011-05-08
  • 2017-09-16
  • 2019-01-06
  • 2019-04-18
相关资源
最近更新 更多