Используйте регулярные выражения, как показано ниже. «I» показывает нечувствительность к регистру.
var collections = mongoDatabase.GetCollection("Abcd");
var queryA = Query.And(
Query.Matches("strName", new BsonRegularExpression("ABCD", "i")),
Query.Matches("strVal", new BsonRegularExpression("4121", "i")));
var queryB = Query.Or(
Query.Matches("strName", new BsonRegularExpression("ABCD","i")),
Query.Matches("strVal", new BsonRegularExpression("33156", "i")));
var getA = collections.Find(queryA);
var getB = collections.Find(queryB);
Вы можете просто передать эти функции.
import 'package:flutter/material.dart';
class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
MyAppBar({this.pageInstanceFunction});
var pageInstanceFunction;
@override
Widget build(BuildContext context) {
return AppBar(
backgroundColor: Colors.orange,
title: Text('My Custom AppBar for #page'),
actions: <Widget>[
IconButton(
icon: Icon(Icons.ac_unit),
onPressed: () {
pageInstanceFunction();
},
),
],
);
}
@override
Size get preferredSize => Size.fromHeight(kToolbarHeight);
}
Вот моя первая страница
import 'package:flutter/material.dart';
import 'package:stackoverflow/MyAppBar.dart';
import 'package:stackoverflow/PageTwo.dart';
class PageOne extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: MyAppBar(
pageInstanceFunction: sayHello,
),
body: Container(
color: Colors.deepOrange,
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Center(
child: RaisedButton(
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => PageTwo()));
},
child: Text('Page Two'),
),
),
),
);
}
void sayHello() {
print('Hello from PageOne');
}
}
И вторая страница
import 'package:flutter/material.dart';
import 'package:stackoverflow/MyAppBar.dart';
class PageTwo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: MyAppBar(
pageInstanceFunction: sayHello,
),
body: Container(
color: Colors.lightBlueAccent,
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Text('Page Two'),
),
);
}
void sayHello() {
print('Hello from PageTwo');
}
}