5

最近、taffydb を使い始めました。これを私のデータとして持っていると仮定します

db= TAFFY([
{OrderNo:'prod1',range: 3,description:'one two'},
{OrderNo:'prod2',range: 2,description:'one two three'},
{OrderNo:'prod3',range: 2,description:'one three two'},
{OrderNo:'prod4',range: 6,description:'one two four three'},
{OrderNo:'prod5',range: 5,description:'three'},...

「one two」と「three」を含むすべてのレコードを検索するクエリを作成する場合は、次のようにします。

db({description:{likenocase:"one two"}},{description:{likenocase:"three"}}).get()

これは製品 2 と 4 を返します。残念ながら、検索する変数の数が不明な動的クエリでこれを行う方法がわかりません。これを行っているのは、ユーザーが自分で提供した単語を検索できるようにするためです。

誰でもアイデアはありますか?

4

3 に答える 3

0

@Jacob-ITの回答を動的に適応させます。今夜初めて Taffy を使用し、オブジェクトの配列をクエリ引数として渡すことができることを発見しました。

// Create a dynamic array
var userSearchVars = [];

// Fill the array from 10 HTML input type=text fields
// You can fill your array however you fancy. This is just one example!
$("#myForm input[type=text]").each(function() {
// This is my edit - push the whole query on to the array.
   userSearchVars.push({description:{likenocase: $(this).val() }});
}
// Then pass the whole query array in...
db( userSearchVars ).get() 

上記をテストしました-そしてそれは私にとってはうまくいきました。

于 2016-12-31T00:21:16.150 に答える
0

前兆として、これはあなたの問題に対する最善の答えではありません。しかし、それはうまくいきます。:)

そのため、ユーザーは「未知数の変数」でデータベースを検索するオプションを利用できます。最大数の変数を追加してみましょう - おそらく 10 ですか?

ここで、すべてのユーザーの検索変数を配列でキャッチします。

// Create a dynamic array
var userSearchVars = [];

// Fill the array from 10 HTML input type=text fields
// You can fill your array however you fancy. This is just one example!
$("#myForm input[type=text]").each(function() {
   userSearchVars.push( $(this).val());
}

// Note: by default an empty input will return the empty string: ""

コード スニペットを使用して、配列を使用してデータベースにクエリを実行するだけです。

db(
    {description:{likenocase:userSearchVars[0]}},
    {description:{likenocase:userSearchVars[1]}},
    {description:{likenocase:userSearchVars[2]}},
    {description:{likenocase:userSearchVars[3]}},
    {description:{likenocase:userSearchVars[4]}},
    {description:{likenocase:userSearchVars[5]}},
    {description:{likenocase:userSearchVars[6]}},
    {description:{likenocase:userSearchVars[7]}},
    {description:{likenocase:userSearchVars[8]}},
    {description:{likenocase:userSearchVars[9]}}
).get()
于 2014-03-31T19:55:52.243 に答える