NodeJS 查询从firestore获取与文档引用匹配的friend

30byixjq  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(107)

这是我的用户数据

->firstName
->lastName
->uid
->grade
->friends[<Document Reference UID>] eg: [users/1, users/2, etc]

现在我想获取一个uid列表,其中存在uid '1'

String userid="1";
const userRef = admin.firestore().collection('users').doc(userid).get();
var friends = await users
      .where('friends', 'array-contains', userRef)
      .limit(3)
      .get();
pwuypxnk

pwuypxnk1#

这一行:

const userRef = admin.firestore().collection('users').doc(userid).get();

您的userRef值不是DocumentReference,但实际上是Promise<DocumentSnapshot>。而这在随后的.where('friends', 'array-contains', userRef)条件中将不起作用--因为不会有任何文档匹配该类型。
你想要的是:

const userRef = admin.firestore().collection('users').doc(userid);

所以最后没有.get()。现在userRef包含一个DocumentReference,它将匹配friends数组中具有相同文档引用的文档。

相关问题