2017-06-30 9 views
0

私のコレクションにいくつかの大きなhtml文書を保存しています。クエリを実行するときに、フィールドの出力で文字の長さを制限する方法はありますか?これは、クエリをテストする際の視覚化を容易にするためのものです。非常に長いHTMLドキュメントを与え例えば出力時のフィールドの長さを制限する

、ターミナルで50文字ほどにフィールドを切り捨てる:

{ 
    "name": "something", 
    "html": "<!doctype html><html itemscope=\"\" itemtype=\"http..." 
} 

答えて

0

あなたはaggregation pipelineを使用してこの操作を行うことができます。

db.collection.aggregate([ 
    {$match: {name: "something"}}, 
    {$project: {html: {$substrCP: ["$html",0,50]}}} 
]) 

この用途式オブジェクトの$substrCP operator

また、アグリゲーションパイプラインを使用することは過剰な可能性があることを指摘します。 htmlフィールドを出力から完全に省略したい場合は、simple projectionを使用できます。

db.collection.find({name: "something"}, {html: 0}) 
関連する問題