sql >> データベース >  >> NoSQL >> MongoDB

マングースfindOne関数はundefineを返します

    これは、ノードjsの非ブロッキング、非同期の性質が原因で発生します。つまり、ファイルアクセス、ネットワーク通信、データベース操作など、完了までに長い時間がかかるアクティビティが要求され、結果が準備されて返されるまで保留されます。コールバック関数を介して。

    これが、db操作が実行されている間、非ブロッキングの性質のために外部コンソールが実行されるため、未定義になる理由です。

    結果を得るには、これを行うことができます

    app.get('/home',(req, res)=>{
        establishment.findOne({_id : "57d83a867d3ba20fcb657dc7" } , (err, estab)=>{
            if(err){
                return res.send(err);
            }
            console.log("inside the function: "+estab.name);
            // what ever proccing you need to do with result do here and finally return res
            res.json(estab)
        });
    })
    



    1. Windows 7マシン上のMongoDB:接続できませんでした

    2. Data.model.updateItemは関数ではありませんTypeError:Data.model.updateItemは関数ではありません

    3. mongodbでインデックスを作成できません。キーが大きすぎてインデックスを作成できません

    4. mongodbをグループ化する方法-mapReduce出力?