从聊天室名称中查找用户ID时出错

时间:2017-12-06 10:43:14

标签: javascript node.js database mongodb express

我目前正在网上聊天框上做一个项目。然而,当我需要通过获取朋友的名字来获取用户的朋友的ID时(例如,当我在我的friendList中有Ivan时,我可以在数据库中获取他的id)登录服务器时,我被困住了。我可以得到这位朋友的名字,比如伊万,但我尝试了很多次,仍然不知道如何使用我发现的名字在服务器中找到伊万的身份。我正在使用mongodb和node.js来完成这个项目。这是我目前的代码:

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"
     }
    ]
 }

1 个答案:

答案 0 :(得分:0)

你试过吗

collection.findOne({"friends.name": "Ivan"}, function(err, docs)
 res.json(docs);
)}