0
{
"_id" : ObjectId("50ff7c427995fe330400000a"),
"group_name" : "College",
"owner" : "50f69176904e1d66affec20d",
"users" : [
    {
        "id" : "50f69176904e1d66affec20d"
    },
    {
        "id" : "50f69176904e1d66affec20d"
    },
    {
        "id" : "50f69176904e1d66affec20d"
    }
]
}
{
"_id" : ObjectId("50ff88e17995fe3204000002"),
"group_name" : "PHP",
"owner" : "50f69176904e1d66affec20d",
"users" : [
    {
        "id" : "50f69176904e1d66affec20d"
    }
],
"visibility" : "public"
}
{
"_id" : ObjectId("50ff86e17995fe3204000001"),
"group_name" : "Lithium",
"owner" : "50f69176904e1d66affec20d",
"users" : [
    {
        "id" : "50f69176904e1d66affec20d"
    }
],
"visibility" : "public"
}
{
"_id" : ObjectId("50ff98397995fe3204000003"),
"group_name" : "MongoDB",
"owner" : "50f69176904e1d66affec20d",
"users" : [
    {
        "id" : "50f69176904e1d66affec20d"
    }
],
"visibility" : "public"
}

上記のコレクションでは、ワイルドカードを使用して group_name を取得したいと考えています。ワイルドカードは双方向である必要があります。検索文字列に「h」と入力すると、「Lithium」と「PHP」の両方を取得できるはずです。助けてください!!

4

2 に答える 2

3

正規表現を使用するだけです

db.collection.find({
  'group_name': /.*h.*/i
}, callback)

ただし、新しいテキスト検索機能を使用しない限り、このクエリはインデックスに登録されません

于 2013-01-24T08:04:49.617 に答える
0

mongoDB の新しいテキスト検索機能が必要なようです。2.4リリース ノートも参照してください。

于 2013-01-24T07:45:58.657 に答える