[英]how to use where condition in mongodb
我有一個mongodb集合,其中包含“ MoviesID,UserID,評分”,因此這是為了描述用戶如何對不同的電影進行評分,以及用戶如何對不同的電影進行評分,當然,電影可以由不同的用戶進行評分。 現在,我想查找與目標用戶(例如:用戶5)對類似電影進行評分的所有用戶。 對相似的電影進行評級意味着它們對至少相同或更多的電影進行評級。 那么,我應該如何找到所有與用戶5評分相似電影的用戶? 我剛剛開始學習mongodb。 謝謝!
要查詢MongoDB集合中的數據,您需要使用MongoDB的find()方法。
find()方法的基本語法如下:
>db.COLLECTION_NAME.find()
假設您有一個像這樣的集合:
{
movie: 1,
user: 1,
rating: 5
}, {
movie: 2,
user: 5,
rating: 5
}, {
movie: 3,
user: 5,
rating: 3
}
您可以在這里找到用戶5評分的所有電影 ,如下所示:
db.collection.distinct("movie", { user: 5 }, function(err, movies) {
// Will return array of distinct values for movies, where user is equal to 5.
// From our collection above, this query will return [ 2, 3 ].
})
然后:
db.collection.find({ movie: { $in: movies } }, function(err, result) {
// Then we'll find the documents where movie is in the movies which
// returned on our first query.
// This will return [{ user: 5, ... }, { user: 1, ... }]
})
我只能在兩個查詢中考慮這樣做。 我仍在思考是否可以通過使用aggregate來完成。
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.