いくつかのコントローラーメソッドでいくつかのデータを除外したいのですが、他のメソッドではそのデータを除外したいのです。私はそれをforEach
見つけた後、メソッドに関数を使ってそれを行います:
nine: function (req, res) {
Dore.find()
.limit(9)
.sort('createdAt DESC')
.populate('file')
.exec(function (err, sh) {
if (err) {
return res.negotiate(err);
} else {
console.log('before : ', sh);
sh.forEach(function (item, i) {
delete item.zaman;
});
console.log('after : ', sh);
return res.send(sh);
}
});
},
検索でそれを行う方法を知りたいのですが、検索には含まれていませんforEach
。そのため、で再度削除する必要はありません。タンク
@zabwareが言うようにselect
、Query option
私はこの形式を試しましたが、機能せず、すべてのデータを返します。
私はそれを次の形式で使用しようとしましたが、機能しません:
Model.find( {
where: {},
limit: 9,
sort: 'createdAt DESC'
},
{
select: [ 'id', 'createdAt' ]
} )
そして
Model.find( {
where: {},
limit: 9,
sort: 'createdAt DESC',
select: [ 'id', 'createdAt' ]
} )
そして
Model.find( {}, select: [ 'id', 'createdAt' ] )
がtoJsonは本当にあなたが直面している問題の種類を解決するために設計されたいくつかのアクションでは、あなたが特定のフィールドを除外していない他の人にしたいので、あなたを助けにはなりません。
したがって、クエリごとにフィールドを選択する必要があります。幸いなことに、喫水線にはこれに対する解決策があります。
Dore.find({}, {select: ['foo', 'bar']})
.limit(9)
.sort('createdAt DESC')
.populate('file')
.exec(function (err, sh) {
console.log(err);
console.log(sh);
});
帆0.11以降、これはサポートされていますが、実際には文書化されていません。こちらのクエリオプションで見つけることができますhttps://github.com/balderdashy/waterline-docs/blob/e7b9ecf2510646b7de69663f709175a186da10d5/queries/query-language.md#query-options
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加