CouchDB にはコレクションがないtype
ため、エンティティにカスタム プロパティを追加しました。ここで、そのプロパティのすべてのエンティティをフィルタリングしたいと思います。たとえば、get all users by {type:'user'}
. cupdb-doc で'find()' というメソッドを見つけました。これは nano 型付けにも実装されていますが、couchdb-nanoにはドキュメントがありません。定義に従って、次のコードを書きました。
class UserModel {
type: string = 'User';
name: string = '';
mail: string = '';
}
let db = <nano.DocumentScope<UserModel>>nano("http://localhost:5984/testdb");
let query: nano.MangoQuery = { selector: { type: "User" } };
db.find(query, (cb:nano.Callback<nano.MangoResponse<UserModel>>) => {
// How to get the results here? cb is a callback, but this doesn't make sense
});
コールバックを受け取っても意味がありません。どうすれば結果を得ることができますか?
ある種のコールバックを使用してみました:
db.find(query, (users: nano.MangoResponse<UserModel>) => {
console.log(users);
});
未定義ですが、Project Fauxtonusers
ではフィルター{ selector: { type: "User" } }
がうまく機能します。