我正在尝试创建一个非常简单的应用程序,该应用程序通过使用聚合物元素获取输入来查找数据库中的值。
我的主要聚合物类如下所示:
library index;
import 'package:polymer/polymer.dart';
import 'lookup.dart';
import 'dart:html';
@CustomTag('auth-input')
class AuthInput extends PolymerElement {
@observable String username = '';
@observable String password = '';
AuthInput.created() : super.created();
void login(Event e, var detail, Node target)
{
int code = (e as KeyboardEvent).keyCode;
switch (code) {
case 13:
{
Database.lookUp(username, password);
break;
}
}
}
}
辅助数据库帮助程序类如下所示:
library database;
import 'package:mongo_dart/mongo_dart.dart';
class Database {
static void lookUp(String username, String password) {
print("Trying to look up username: " + username + " and password: " + password);
DbCollection collection;
Db db = new Db("mongodb://127.0.0.1/main");
db.open();
collection = db.collection("auth_data");
var val = collection.findOne(where.eq("username", username));
print(val);
db.close();
}
}
我不断收到此错误,但我想不出解决方法:
The requested built-in library is not available on Dartium.'package:mongo_dart/mongo_dart.dart': error: line 6 pos 1: library handler failed
import 'dart:io';
奇怪的是,我不想使用dart:io
。该代码可以很好地运行数据库进程或聚合物进程。我不能让他们一起工作。我不明白为什么此代码实现将无法运行。
https://pub.dartlang.org/packages/mongo_dart的第一行说
在纯Dart中实现的MongoDb服务器端驱动程序库。
这意味着您不能在浏览器中使用它。您的错误消息表示相同。软件包中的代码使用dart:io
,因此不能在浏览器中使用。
另外mongodb://127.0.0.1/main
是不是可以在浏览器中使用的URL。
您需要一个服务器应用程序来执行数据库访问,并为浏览器客户端提供HTTP / WebSocket API。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句