以下代码工作得很好......只需在无序列表中显示一些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文本无法显示,尽管没有错误?提前谢谢。
答案 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