2017-12-06 13 views
1

私のモデルの1つにネストされたaddress属性があります。ウォーターライン:JSONの値で検索

attributes: { 
    address: { 
    type: 'json' 
    } 
} 

私はどのモデルのインスタンスが同じ場所にあるかを見つけることができます。 私はいくつかのクエリを試しました:

Model.find({ "address.city": city }) 
Model.find({ address: { contains: city }}) 

しかし、どれもうまくいかないようです。どのようにこのクエリを適切に定式化するためのアイデア?

答えて

0

確かに、Warerlineを搭載しモンゴネイティブ呼び出しが動作します:

https://sailsjs.com/documentation/reference/waterline-orm/models/nativeは、その後、あなたの最初の試みで、クエリオブジェクトは動作するはずです。 mongodbのドキュメントは、クエリパラメータに関する水面上のドキュメントであることに注意してください。例えば。 ObjectIdをネイティブクエリで使用する前にidクエリにキャストする必要があります。

+0

私のテストでは、 'sails-mongo'アダプタの代わりに' sails-memory'を使用しています。ネイティブはMongoDBだけで動作するようです。たぶん別の「アドレス」モデルを追加して、代わりに1対1または一方向の関係で作業するだけです。 –

+0

確かに、ネイティブコールはsails-mongoアダプターでのみ機能します。だからこそ、私はここでモンゴブを最初の場所とした –

関連する問題