无法从列表中提取数据



我需要创建一个双参数异步函数,该函数接收一个数据集合,其中包含名称作为其第一个参数,字符串作为其第二个参数。函数必须搜索数据集合并返回一个列表,其中包含包含作为参数给出的字符串的名称。

例如,集合可以是:

var database = MemoryDatabaseAdapter().database();
var collection = database.collection('names');
await collection.insert(data: {'name' : 'Jonathan'});
await collection.insert(data: {'name' : 'John'});
await collection.insert(data: {'name' : 'Steve'});
var list = await fetchedNames(collection, 'Jo');
for (var i = 0; i < list.length; i++) {
print(list[i]);
}

打印结果应为:

乔纳森

约翰

但是我所能做的就是得到:

{名称:乔纳森}

{名称:约翰}

我做了什么:

import 'package:database/database.dart';
import 'package:database/filter.dart';
main() async {
var database = MemoryDatabaseAdapter().database();
var collection = database.collection('names');
await collection.insert(data: {'name' : 'Jonathan'});
await collection.insert(data: {'name' : 'John'});
await collection.insert(data: {'name' : 'Steve'});
var list = await fetchedNames(collection, 'Jo');
for (var i = 0; i < list.length; i++) {
print(list[i]);
}
}
fetchedNames(collection, name) async {
var kysely = Query(
filter: MapFilter({
'name': KeywordFilter(name)
})
);
var results= await collection.search(query: questionnare);
var documents = results.snapshots;
var list = [];

for (var i = 0; i < documents.length; i++) {
list.add(documents[i].data);
} 
return list;
}

我无法从过滤的名称中获得打印,但我可以打印整个行,即。打印结果应为:乔纳森约翰但我所能做的就是{名称:乔纳森}{名称:约翰}

在for循环中,只需将属性的名称添加到变量list中,例如:

for (var i = 0; i < list.length; i++) {
print(list[i]['name']);
}

相关内容

  • 没有找到相关文章

最新更新