我们使用facebook评论插件在我们的网站上发表评论.
为了缓和这些问题,我们使用此工具:https://developers.facebook.com/tools/comments
但是,我们希望构建自己的工具来调节这些注释,并将其集成到我们现有的软件中.
我找不到这样做的正确方法.我经过几个小时的研究后发现的唯一方法是这个FQL查询:
select post_fbid, fromid, object_id, text, time from comment where object_id in (select comments_fbid from link_stat where url ='URL_HERE')
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为我们有数千个不同的URL,每次都无法查询每个URL,看看是否有任何新的评论.
我需要一种方法来获取所有(新)评论,只需输入我们的app_id,域或类似的东西
我怎样才能做到这一点?
我有一个测试数据集(500k 行)
{
"_id": ObjectId("61309575c9346aab086f91fb"),
"listId": ObjectId("61309575c9346aab086f91fa"),
"createdDate": ISODate("2021-09-02T09:12:21.594Z"),
"es0": "Firstname 0 Moscow",
"es1": "firstname0@gmail.com",
"es2": "0701230000",
"es3": "Equatorial Guinea",
"es4": "Iceland",
"es5": "Los Angeles International Airport",
"ed0": ISODate("1975-10-17T00:00:00Z"),
"ed1": ISODate("2020-01-01T00:00:00Z"),
"ei0": 46,
"ei1": 1345
}
Run Code Online (Sandbox Code Playgroud)
我有一个这样的测试查询
db.collection.aggregate([{
$search: {
"index": "test_index1",
"compound": {
"filter": [{
"equals": {
"path": "listId",
"value": ObjectId("613098df46239505942b8b13")
}
}],
"must": [{
"text": {
"query": 'Los Angeles',
"path": {
'wildcard': '*'
}
}
}]
}
}
},
{
$limit: 10
}]);
Run Code Online (Sandbox Code Playgroud)
这是超级快的。
但如果我添加排序阶段(在 $limit 之前)
{ …Run Code Online (Sandbox Code Playgroud)