mongoDB $ nin不起作用

时间:2017-09-28 10:20:51

标签: node.js mongodb mongoose mongodb-query social-networking

我试图设计一个社交网络,我有一个user.friends_list架构,其中包含friends_list字符串数组。当我运行代码时,结果不是我所期望的。它让我回到了user.friends_list上的一些成员。

module.exports.getMembersWithouFriends = function(user, callback) { User.find({ username: { $nin: user.friends_list } }, callback) } 很好,当我在mongo shell中运行查询时,我看到朋友列表正是应该的样子。

> db.users.find({'username':'mm'}).pretty()
{
        "_id" : ObjectId("59cc1abbf8362823385cb2a9"),
        "first_name" : "mm",
        "last_name" : "mm",
        "email" : "mm@mm.com",
        "username" : "mm",
        "password" : 
        "posts" : [ ],
        "friends_list" : [
                "roy",
                "david",
                "rr",
                "dd",
                "shahar",
                "mm"
        ],
        "__v" : 0
}

Mongo Shell

{{1}}

当我记录我从mongo获得的结果时,我得到了#ro;"和大卫"回来。

1 个答案:

答案 0 :(得分:0)

好像这段代码工作正常,问题出在我的数据库中。我有一些不存在的用户仍在用户数据库中。