0
私はソーシャルネットワークを設計しようとしており、user.friends_list
という文字列を持つUser
スキーマを持っています。コードを実行すると、結果は私が期待するものではありません。それは私にfriends_list
にあるメンバーのいくつかを返す。
user.friends_list
mongoシェルでクエリを実行すると、友だちリストが正確に表示されるはずです。
module.exports.getMembersWithouFriends = function(user, callback) {
User.find({ username: { $nin: user.friends_list } }, callback)
}
モンゴシェル
> db.users.find({'username':'mm'}).pretty()
{
"_id" : ObjectId("59cc1abbf8362823385cb2a9"),
"first_name" : "mm",
"last_name" : "mm",
"email" : "[email protected]",
"username" : "mm",
"password" :
"posts" : [ ],
"friends_list" : [
"roy",
"david",
"rr",
"dd",
"shahar",
"mm"
],
"__v" : 0
}
私はモンゴから取得していた結果をログ慰めるとき、私は戻って、「ロイ」と「デビッド」を取得しています。
db.users.find({ユーザ名:{$ nin:["roy"、 "david"]}} 'は動作していないとし、" roy "と" david "のドキュメントを返しますか? – Veeram
'User.find({username:{$ nin:user.friends_list}}、callback)'は、 "roy"と "david"の両方を含むドキュメントを返します。それはうまく動作します – KLTR
'user.friends_list.map(x => String(x))'を使用しようとします。 –