如何在 Parse.com 中进行“喜欢”查询

How to make a "like" query in Parse.com

本文关键字:喜欢 查询 Parse com      更新时间:2023-09-26

例如,如果我的数据库是:

{
    people: name: [{"first":"Billy", "last":"smith"}]
},
{
    people: name: [{"first":"bob", "last":"smith"}]
},
{
    people: name: [{"first":"thor", "last":"smith"}]
},
{
    people: name: [{"first":"hobo", "last":"smith"}]
}

我想要一些大意如下的东西:query.like("b")并让它返回第一个、第二个和第四个文档

Javascript API中有这样的东西吗?

contains(key, substring) 方法是您想要的方法,但请注意,这仅在第二个和第四个文档上匹配。

原因是搜索区分大小写。一种常见的策略是添加云代码处理程序,以便在保存之前将可搜索的内容写入另一个字段,例如:

Parse.Cloud.beforeSave("people", function(request, response) {
    request.object.set(
        "search_name", 
        request.object.get("first").toLowerCase() 
            + " " 
            + request.object.get("last").toLowerCase()
    );
    response.success();
});

现在,您可以使用query.contains("search_name", searchString.toLowerCase())查找所有内容。

如果您希望能够仅搜索名字而不是姓氏,请根据需要添加另一个字段("search_first"(,或仅修改上述字段。