0
私は "MoviesID、UserID、Rating"を含むmongodbのコレクションを持っています。これはユーザーが異なる映画を評価する方法を説明するもので、ユーザーは異なる映画を映画は異なるユーザによって評価されることができる。今では、ターゲットユーザーと同じような映画を評価しているすべてのユーザーを探したいと思っています。同様の映画を評価すると、少なくとも同じ映画以上の評価を受けることになります。私のやり方は、ターゲットユーザーのすべての映画を見つけて、これらの映画を評価するユーザーを照会することです。私はモンゴシェルクエリを次しており、それが動作します:mongodbクエリをpymongoに変換する方法
var a = db.ratings.distinct("MovieID",{"UserID":"user"});
db.ratings.distinct("UserID",{"MovieID":{$in:a}}))
が、私が入力をしたいので、私は入力を取得するpymongoを試みたが、私のコードは次のとおりです。
import sys
import pymongo
import re
import codecs
from pymongo import MongoClient
client = MongoClient()
db = client['moviesdb']
user = input("Enter the user: ")
# #ratings = db.ratings
from bson.son import SON
import pprint
a = db.ratings.distinct("MovieID",{"UserID":"user"});
pprint.pprint(db.ratings.distinct("UserID",{"MovieID":{"$in":a}}));
が、結果は空の配列であります、 何故かはわからない。では、pymongoコードの問題は何ですか?あるいは、シェルで入力を得るための方法があるので、Pymongoを書く必要はありませんか?ありがとう!