2016-11-28 9 views
0

mongo db 'property'コレクションから1つのドキュメントしか抽出しません。 最新のドキュメントでもある必要があります。 それは非常に簡単に見えますが、なぜ私のクエリが制限内で指定された文書の数を取得していないのかわかりません。mongodbとNodeJSクエリでlimitを使用する方法

元のメソッド:このクエリは、すべての文書を抽出

app.get('/', function(req, res){  
    db.property.find(function (err, docs) { 
    res.render("index.ejs",{property: docs}); 
    }) 
}); 

EDIT 1:このクエリは、正しい1つの文書を与えますが、I:このクエリは何も

app.get('/', function(req, res){  
    db.property.find({sort: {created_at: -1}, limit: 1}, function (err, docs) { 
    res.render("index.ejs",{property: docs}); 
    }) 
}); 

EDIT 2を抽出していません今すぐ最新のものを欲しい。

app.get('/', function(req, res){  
    db.property.find({}).limit(2).toArray(function (err, docs) { 
    res.render("index.ejs",{property: docs}); 
    }) 
}); 

ご協力いただければ幸いです。

は結果にいかなる問題がある場合は、

+2

http://stackoverflow.com/questions/5789001/identify-last-document-from-mongodb-find-の可能デュープを得ました結果セット – chridam

答えて

0
var Property = require('../models/property'); 

var q = Property.find().sort({created_at: -1}).limit(1); 
    q.exec(function(err, property) { 
     if (err) res.send(err); 
     res.json(property); 
    }); 

あなたはこれを試すことができ、私を聞かせていただきありがとうございます。

+0

私はTypeErrorを取得しています:q.execは関数ではありません。私が紛失している依存関係はありますか? 私はnodejsとmongodbを初めて使用しています –

+0

まず、 "require"を使用してモデルをインポートする必要があります。 'varプロパティ= require( '../ models/property');' 変数 'Property'を使ってレコードを取得できます。 'var q = Property.find()。sort({created_at:-1})。limit(1); q.exec { if(err)res.send(err); res.json(prop); }); ' – Stone

0

私はいくつかの方法でクエリを変更しようと、最終的に私はその解決策

app.get('/', function(req, res){  
    db.property.find({}).sort({timestamp: -1}).limit(1).toArray(function (err, docs) { 
    res.render("index.ejs",{property: docs}); 
    }) 
}); 
関連する問題