导入mongo_dart包会停止显示文本

时间:2014-05-19 14:37:51

标签: mongodb dart

以下代码工作得很好......只需在无序列表中显示一些JSON:

import 'dart:html';
import 'dart:convert';

main() {
 // Db db = new Db("mongodb://127.0.0.1/mongo_dart-showjson");
  querySelector("#sample_text_id")
      ..onClick.listen(showJSON);
}

void reverseText(MouseEvent event) {
  var text = querySelector("#sample_text_id").text;
  var buffer = new StringBuffer();
  for (int i = text.length - 1; i >= 0; i--) {
    buffer.write(text[i]);
  }
  querySelector("#sample_text_id").text = buffer.toString();
}

void showJSON(MouseEvent event) {
  var path = 'hcps.json';
  var hcpDisplay = querySelector('#json_length_id');
  HttpRequest.getString(path).then((String fileContents) {
    List<String> hcpList = JSON.decode(fileContents);
    for (int i = 0; i < hcpList.length; i++) {
      hcpDisplay.children.add(new LIElement()..text = hcpList[i].toString());
    }

  });
}

但是,当我为mongo-dart添加import语句时,不会显示JSON,但我没有收到错误:

import 'dart:html';
import 'dart:convert';
import 'package:mongo_dart/mongo_dart.dart';

main() {
  Db db = new Db("mongodb://127.0.0.1/mongo_dart-showjson");
  querySelector("#sample_text_id")
      ..onClick.listen(showJSON);
}
...

mongo_dart包已作为依赖项添加到pubspec.yaml。

有没有人知道为什么导入mongo_dart包会导致json文本无法显示,尽管没有错误?提前谢谢。

2 个答案:

答案 0 :(得分:2)

如封装自述文件中所述

  

mongo-dart是一个用于MongoDb的服务器端驱动程序库   纯飞镖

。 它不能在客户端工作。主要原因 - 浏览器没有真正的套接字连接到数据库,如mongodb,mysql,postgress等。您可以使用像CouchDB这样的RESTful API查看某个数据库。或者您应该使用一些中间件 - 例如objectory

答案 1 :(得分:0)

你可以尝试

import 'package:mongo_dart/mongo_dart.dart' as mdb;

main() {
  mdb.Db db = new mdb.Db("mongodb://127.0.0.1/mongo_dart-showjson");

查看是否存在冲突

您还可以添加try / catch块

try {
  mdb.Db db = new mdb.Db("mongodb://127.0.0.1/mongo_dart-showjson");
} catch(e) {
  print(e)
}

有时会因为区域的使用而吞下异常(尽管可能没有帮助),但我认为值得一试。

包缓存目录可能已损坏。 你可以试试

pub cache repair