我在 Laravel 中使用 mongodb。我还使用jenssegers/laravel-mongodb来执行数据库活动。我有一个包含用户数据的集合,其中他的图片路径与他给出的标签一起存储。有点类似于 Instagram。现在我想对数据执行标记明智的计数,即对于每个标记,有多少记录。下面是名为 user_contents 的集合的结构:
{
"_id": ObjectId("5a6f41fbf4f1f331b4006d7d"),
"user_id": "1",
"file_name": "rBrnbxjJXckR1CnvljZ4eZiXFWFWBobJiguUbHzd.jpeg",
"tags": ["blue", "girl"],
"created_at": ISODate("2018-01-29T15:47:06Z"),
"updated_at": ISODate("2018-01-29T15:47:06Z")
}
我正在运行以下查询以获取在 mongo 客户端中完美运行的所需数据
db.user_contents.aggregate([{
"$project": {
"tags": 1
}
}, {
"$unwind": "$tags"
}, {
"$group": {
"_id": "$tags",
"count": {
"$sum": 1
}
}
}]);
但我不知道如何使用 jenssegers 编写此查询。更具体地说,我没有执行unwind的选项。如果有人可以帮助我,那就太好了,
版本信息:
Laravel:5.5.32
MongoDB:数据库版本 v3.6.2
php: 7.1.10
谢谢你。