首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据其他购买图书的用户为用户推荐图书并对其进行评分?

如何根据其他购买图书的用户为用户推荐图书并对其进行评分?
EN

Stack Overflow用户
提问于 2016-12-08 03:14:45
回答 1查看 54关注 0票数 0

我正在使用PHP和MongoDB开发一个简单的推荐引擎。我正在尝试根据其他用户购买的内容为用户推荐书籍。我有这些数据,我想计算一下每个用户和新用户有多少共同的书。

采集字段为:

代码语言:javascript
运行
复制
/* 1 */
{
"_id" : ObjectId("58474a61307ad40ea8003587"),
"userid" : "1",
"bookid" : "100",
"rate" : 4
}

/* 2 */
{
"_id" : ObjectId("58474aa9307ad40ea8003588"),
"userid" : "2",
"bookid" : "100",
"rate" : 4
}

/* 3 */
{
"_id" : ObjectId("58474ab0307ad40ea8003589"),
"userid" : "1",
"bookid" : "110",
"rate" : 4
}

/* 4 */
{
"_id" : ObjectId("58474ad7307ad40ea800358a"),
"userid" : "2",
"bookid" : "110",
"rate" : 3
}

/* 5 */
{
"_id" : ObjectId("58474adc307ad40ea800358b"),
"userid" : "3",
"bookid" : "100",
"rate" : 5
}

/* 6 */
{
"_id" : ObjectId("58474af4307ad40ea800358d"),
"userid" : "3",
"bookid" : "120",
"rate" : 4
}

 /* 7 */
{
"_id" : ObjectId("58474b36307ad40ea8003592"),
"userid" : "2",
"bookid" : "120",
"rate" : 5
}

/* 8 */
{
"_id" : ObjectId("58474b43307ad40ea8003593"),
"userid" : "4",
"bookid" : "100",
"rate" : 2
}

我试了很久才找到解决方案,但是没有成功。感谢您提供的任何帮助:)

编辑:我试过这段代码,但它不能工作

代码语言:javascript
运行
复制
$out = $purchase->find(["userid"=>"1"]);
foreach($out as $a){
$pipeline = array(
        array('$match' => array('bookid' => $a['bookid'])),
        array('$group' => array('_id' => '$userid',
             'count' => array('$sum' => 1)),
            ),
);
$result = $Ratingscollection->aggregate($pipeline);
    foreach ($result as $aa){
        echo $aa["_id"]."&nbsp";
        echo $aa['count']."</br>";
    }
EN

回答 1

Stack Overflow用户

发布于 2016-12-08 05:25:33

因为我理解你的问题。你可以试试这个。首先,将新用户的书号存储在一个名为newUserBookId的变量中,在我们的示例中,假设该值为100。

现在运行以下查询-

代码语言:javascript
运行
复制
> var newUserBookId ="100";
> db.xx.aggregate([{ $match: { "bookid": newUserBookId } },{$group : {"_id" : "$bookid", num_of_users: {$sum : 1}}}]);

希望这能帮到你。谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41025524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档