Parse.com和JavaScript SDK。
从下面的答案更新
function friendFeed() {
friendName = $('#friendsearch').val();
console.log(friendName);
var query = new Parse.Query(myBadges);
new Parse.Query("myBadges").matchesQuery("username", new Parse.Query("_User").equalTo("username", friendName))
query.find({
对此毫无意义!下面的代码按预期方式工作,并在变量“myBadges”中使用_User类时返回用户但是
如果我将其交换为包含指向_User的指针的类myBadges,则不返回任何结果
我不明白为什么会发生这种情况?
var friendName;
var currentUser = Parse.User.current();
var myBadges = Parse.Object.extend("myBadges");
// Captures the input from the user and checks if the name already exists within the Db.
function findFriend() {
friendName = $('#friendsearch').val();
console.log(friendName);
var query = new Parse.Query(myBadges);
//query.include("BadgeName");
//ery.include('mtBadgesPOINTER');
query.equalTo("username", friendName); // find users that match
query.find({
success: function (friendMatches) {
$('#imgs').empty();
$('#no_user').hide();
// This section is always run, no matter the outcome. Depending on the input depends on which result is shown
console.log(friendMatches);
if (friendMatches.length === 0)
$('#no_user').show();
console.log('NO MATCH FOUND!!!')
},
error: function (error) {
alert('Opps we have a problem' + error.message);
}
});
}
////////////////////////////////////////////////////////////
$('#find_button').click(function (e) {
findFriend();
});
< /script>
<div id="imgs"></div >
< img style = "display:none"
src = "/img/no-user.png"
id = "no_user"
alt = "No user found" >
答案 0 :(得分:2)
这就是应该如何运作的。因为您已经从myBadges建立了一个指向User的指针,所以您还需要使用指针进行查询。传递用户名的字符串值不起作用,因为字符串不等于指针。
如果您使用用户名来查找徽章,则需要沿此行查询:
new Parse.Query("myBadges").matchesQuery("username", new Parse.Query("_User").equalTo("username", friendName))
使用复合查询来查找与给定username
匹配的用户,然后使用myBadges
,其中用户等于第一个查询的结果。