求指教,有没有什么办法可以获取所有注册用户得objectid啊
-
创建时间
22年3月15日
-
最后回复
22年3月20日
-
5
回复
-
1.4K
浏览
-
2
用户
-
1
链接
求指教,有没有什么办法可以获取所有注册用户得objectid啊
你好,可以参考如下代码:
query = leancloud.Query('_User')
query.equal_to('mobilePhoneVerified', True) # 查询条件
users = query.find() # 用户列表
id_list = [user.id for user in users] # 用户 objectId 列表
print(id_list)
注意 _User
表的 find 权限默认是关闭的。如需在客户端查询用户数据,需要开启该权限,但这会带来用户数据泄漏的风险。为保证信息安全,建议您在云引擎内进行这类查询(使用 Master Key),这样就无需开放 _User
表的 find 权限了。
objectId
、createdAt
、updatedAt
是内置字段,获取方式较为特殊(文档5)。
其他字段(例如 username
)需要用 get
方法来获取:
username_list = [user.get('username') for user in users]
Python如何实现将user类的ID对应绑定到其他个类中的对应行
query = leancloud.Query('_User')
query.equal_to('mobilePhoneVerified', False) # 查询条件
users = query.find() # 用户列表
id_list = [user.id for user in users] # 用户 objectId 列表
username_list = [user.get('username') for user in users]
id_list1=[str(q) for q in id_list]
dict_all = dict(zip(username_list, id_list))
Course = leancloud.Object.extend('Course_Data_Structure')
course = Course()
query_structure=leancloud.Query('Course_Data_Structure')
for p in dict_all:
query_structure.equal_to('xuehao',p)
course.set('self',dict_all[p])#这里的self是一个指向_User的pointer对象
course.save()
print("Done!")
报错:Invalid value type for field 'self',value '"62329842c62513794f8e0703"',expect type is {:type "Pointer", :className "User", :readonly false},but it is '{:type "String"}'
如果想把对象的一个字段设为指向另一个对象的 Pointer,在 set
时不能传入字符串(例如对象的 objectId
),而是要传入 leancloud.Object
对象。
假设要把 course
的 self
字段设为 objectId
为 62329842c62513794f8e0703
的 _User
对象:
# 错误写法
course.set('self', '62329842c62513794f8e0703')
# 正确写法
User = leancloud.Object.extend('_User')
user = User.create_without_data('62329842c62513794f8e0703')
course.set('self', user)