1

Strongloop Loopbackのドキュメントには、ビットごとのフィルターを使用したオブジェクトの取得については何も記載されていません。

ループバック API ドキュメントのような例:

// Just an example of syntax, it does not do bitwise filter
Inventory.find({where: {status: {gt: 4}});

MongoDBに直接接続すると、次のことができます。

// Select items with 3rd bit on in `status` field
db.inventory.find({status: {$mod: [4, 0]}});

ループバックモデル インターフェイスの背後で同じことを行うことはできますか?

MongoDB のドキュメントでは、$were 条件でも同じことができると書かれていますが、より高価です

db.inventory.find( { $where: "this.qty % 4 == 0" } )

loopback で次のことを行うことができますか :

Inventory.find({where: "this.qty % 4 == 0"});

それとも失敗しますか?

私のモデルでビット単位のステータス フィールドを使用するという全体的な考え方はやり過ぎですか? 文字列 status のリストを含むある種の配列フィールドを使用する必要がありますか? DBストレージの面で高すぎませんか?

ありがとう

4

1 に答える 1

2

LoopBack は、MongoDB と同様の JSON オブジェクトを使用してクエリを記述します。LoopBack は、MongoDB、MySQL、Oracle などの複数のデータベースをサポートしていることに注意してください。理想的には、オペレータはそれらすべてによってサポートされるべきです。LoopBack コネクタはそれをネイティブ クエリにマップします。

すべてのコネクタのビット演算子はまだサポートされていません。しかし、MongoDB の場合は、$ を追加して演算子を渡します。たとえば、 に{mod: [ 4, 0 ])なり$mod: [ 4, 0 ]ます。

問題を開いてください。そこでフォローアップします。

于 2014-01-31T17:36:13.433 に答える