2016-07-09 18 views
0

私は既存のMongoDBコレクションを持つMEAN Stackアプリケーションで作業しています.find()の条件を定義すると条件なしで動作する間に結果は返されませんでした。ここで条件付きのMongoose .find()は結果を返しません

は私のモデルファイルからコードです:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var mainSchema = new Schema({ 
    id: Number, 
    x: Number, 
    y: Number, 
    prio: Number, 
    type0: String, 
    type1: String, 
    type2: String, 
    width: Number, 
    height: Number, 
    text1: String, 
    text2: String, 
    size1: Number, 
    font: String, 
    color1: String, 
    color2: String, 
    links: String, 
    peers: String 
}, { collection: 'main' }); 

mainSchema.statics = { 
    load: function(l, t, r, b, cb){ 
     console.log(l, t, r, b); 
     return this.find({ 
      x: { $gt: l, $lt: r }, 
      y: { $gt: t, $lt: b } 
     }).exec(cb); 
    } 
}; 

module.exports = mongoose.model('main', mainSchema); 

これは条件なしの出力から一つのオブジェクトである:

:ここ

[ 
    { 
    "_id": "577faf952a7c33f2fe44b282", 
    "id": 4, 
    "x": 50944, 
    "y": 54995, 
    "prio": 1, 
    "type0": "a", 
    "type1": "a", 
    "type2": "a", 
    "width": 100, 
    "height": 100, 
    "text1": "Chemie", 
    "text2": "", 
    "size1": 48, 
    "font": "f1_a ", 
    "color1": "#000000", 
    "color2": "#bfdeff", 
    "links": "14,53445,57328,12,#ff3d3d,k&13,54744,53904,12,#8c8c86,k&12,52557,51870,12,#f2ff12,k&11,51172,49743,12,#2312ff,k&10,48270,47335,12,#49fe6e,k&", 
    "peers": "1" 
    } 
] 

は負荷Methodeのを呼び出すコードであります

var mongoose = require('mongoose'); 
var main = require('../models/main'); 

exports.load = function(req, res){ 
    main.load(parseInt(req.query.l), parseInt(req.query.t), parseInt(req.query.r), parseInt(req.query.b), function(err, data) { 
     res.jsonp(data); 
    }); 
}; 
+0

loadメソッドを呼び出すコードはどこですか? – chridam

+0

@chridamヒントのおかげで、私はコードを追加しました。 – Patrick

+0

ここで間違ったモデルのインスタンスを呼び出していると思います。実際のモデルを 'var Main = require( '../ models/main')と呼ぶことはできないのですが、これは' var main = mongoose.model( 'main'、 "main"、 "main ' ; '最後にmain.jsファイルにエクスポートしてください。' module.exports = mongoose.model( 'main'、mainSchema); '? – chridam

答えて

0

問題が解決しました。 出力にもかかわらず、すべてのデータはMongoDB内でintではなく文字列として格納されていました。 JSON出力(タイプが正しい)をファイルにコピーしてMongoDBにインポートしたので、コードは正常に動作します。

関連する問題