假设我有以下数据库实体:
@Document(collection = "users")
public class User {
@Id
private String id;
private String firstname;
private String lastname;
private String email;
}
Run Code Online (Sandbox Code Playgroud)
如何强制字段电子邮件是唯一的?这意味着当应用程序尝试保存实体时,MongoDB 应该检查具有此电子邮件地址的用户记录是否已经存在。
问候, 史蒂芬
假设我有以下数据库实体:
Customer
- firstname
- lastname
- status (active | inactive)
- email
Run Code Online (Sandbox Code Playgroud)
以及以下(简化的)Java 方法:
getCustomers (String firstname, String lastname, String status, String email) {...}
Run Code Online (Sandbox Code Playgroud)
如果所有字符串均为空,我想从数据库中检索所有记录。如果姓氏和状态有值,我想检索相关记录。等等。因此,在创建查询时,我需要检查字段是否有值,然后将这些字段添加到数据库查询中。我如何使用 Quarkus Panache 最好地实现这一点?
我的示例改编自其中一个兼容性库附带的示例应用程序之一。那是布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/fragment_menu_msg" />
<CheckBox android:id="@+id/menu1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true"
android:text="@string/fragment1menu">
</CheckBox>
<CheckBox android:id="@+id/menu2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true"
android:text="@string/fragment2menu">
</CheckBox>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这里是一些Java代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_menu);
ViewGroup layout = (ViewGroup) findViewById(R.id.layout);
Button btn = new Button(getApplication());
btn.setId(1);
btn.setText("Button 1");
layout.addView(btn);
mCheckBox1 = (CheckBox) findViewById(R.id.menu1);
mCheckBox1.setOnClickListener(mClickListener);
}
final OnClickListener mClickListener = new OnClickListener() {
public void onClick(View v) {
ViewGroup layout = (ViewGroup) findViewById(R.id.layout);
Button btn …Run Code Online (Sandbox Code Playgroud)