名前のmongoデータベースがあります。
次のように見えるとしましょう。
{ "_id" : ObjectId("513a18c1f9e9b5c19fd80014"), "name" : "Mary Sue" }
{ "_id" : ObjectId("513a18d9f9e9b5c19fd80015"), "name" : "Tammy Sue" }
{ "_id" : ObjectId("513a18e4f9e9b5c19fd80016"), "name" : "Sueellen" }
{ "_id" : ObjectId("513a18eaf9e9b5c19fd80017"), "name" : "Ellen" }
{ "_id" : ObjectId("513a195af9e9b5c19fd80018"), "name" : "Sue" }
{ "_id" : ObjectId("513a1ccaf9e9b5c19fd80019"), "name" : "Eddie" }
次のように戻り値を優先する単一の結果に対して (大文字と小文字を区別しない) クエリを実行できるようにしたいと考えてい
ます。
それ以外の場合、名前にmy 文字列が含まれている場合は、最初のアルファベット順の結果を返します。
例:
を検索すると、/sue/i
"Sue" が返されます。
を検索すると、/e/i
「Eddie」が返されます。
を検索すると、/len/i
"Ellen" が返されます。
検索すると、/ue/i
「Mary Sue」が返されます。
/^len/i
2 つの別々の呼び出し (1 つは、次に/len/i
0 の結果が得られた場合) を実行するか、すべての一致を見つけて結果を自分で解析することなく、これを行うことは可能ですか?
ここではたまたま node.js と mongoose を使用していますが、一般的な mongo の回答でも問題ないので、概念を理解できます。