2017-12-06 5 views
0

現在オンラインチャットボックスでプロジェクトを行っています。しかし、私は友人の名前を取得することによってユーザーの友人のIDを取得する必要があるときに立ち往生しました(例えば、私のfriendListにIvanを持っている場合、データベースにIDを取得できます)。私は友人の名前を得ることができます、イワン、しかし、私は何度も試してみましたが、私はアイバンのIDをサーバーで見つけるために見つけた名前を使用する方法を知らない。私はmongodbとnode.jsを使ってこのプロジェクトを行っています。ここに私の現在のコードです:チャットボックスの名前からユーザーIDを見つける際にエラーが発生しました

router.get('/load', function(req, res) 
var db = req.db; 
var collection = db.get('userList') 
if(req.session.userId) 
{ 
var id = req.session.userId; 
collection.find({"_id": id},{fields:{"_id":0, "friends.name":1}}, function(err, docs) 
res.json(docs); 
)} 
} 

そして、ここでデータベース構造は、一種のようになります。

{ 
"_id": ObjectId(5a23e06aa11f6589e02d8fcf), 
"name": "Ken", 
"password": "12345678", 
"friends":[ 
    { 
    "name" : "Andy", 
    "lastmsg": "0" 
    }, 
    { 
    "name" : "Ivan", 
     "lastmsg" : "1" 
    } 
    ] 
} 

答えて

0

は、あなたがしようとしました

collection.findOne({"friends.name": "Ivan"}, function(err, docs) 
res.json(docs); 
)} 
関連する問題