0

ここでmongoが最善の解決策であるかどうか、またはこれが可能であるかどうかはよくわかりません。

私は文書を持っています:

{
  u'action': [
    {
       u'url': u'http://foo.com',
       u'payload': {
         u'action': u'EndCall'
       }, 
       u'timer': 0
    },
    {
       u'url': u'http://foo.com', 
       u'payload': {
         u'action': u'EndCall'
       },
       u'timer': 0
    }
  ],
  u'pattern': {u'c': 3, u'b': 2, u'd': 4}
}

その事実上、パターンがキーでアクションが値であるキー/値ペア、

ここで、パターンと他のいくつかの値(不明で無関係)を含む文字列で検索するときに、この値/ドキュメントを取得したいとします。

たとえば、上記と一致する必要がある検索文字列は次のとおりです。

query = {"a": 1, "b" : 2, "c" : 3, "d" : 4, "e" : 5 }

したがって、これの中央部分はパターン値と一致しますが、完全に一致させるためにどの値を削除できるかわかりません(例:a&e)

私は現在Mongoでこれを試しているので、アプリはPythonで書かれていますが、他の解決策を模索できてうれしいです。

4

1 に答える 1

0

クエリを次のような一連の OR オプションにするために、あなたがやろうとしていることを行うと私が考えることができる唯一の方法について:

db.foo.find( { $or : [ { "a" : 1 } , { "b" : 2 }, { "c" : 3 }, { "d" : 4 }, { "e" : 5 } ] } )

「パターン」ノードの任意の部分でこれらの値のいずれかを本質的に探しているように見えるため、これは機能するはずです。

于 2012-08-21T15:21:24.303 に答える