在 React 中从 WatermelonDB 中获取数据
Fetch Data from WatermelonDB in React
我正在使用 WatermelonDB 作为我的应用程序的本地数据库。
我在 class AccessDB:
中有一个方法 getPlaces()
static async getPlaces() {
const postsCollection = database.collections.get('places');
const allPosts = await postsCollection.query().fetch();
return allPosts;
}
使用带有异步和等待的 AccessDB.getPlaces()
调用 getPlaces()
。如何获取与查询匹配的结果?
可能是我理解的不够全面。但是您是否尝试将查询放入 query
方法
const allPosts = await postsCollection.query(Q.where('is_verified', true)).fetch();
另外不要忘记 getPlaces
是异步的,你需要 async\await
来获取 return 数据。
变量 allPosts
是一个包含所有 places
的数组。因此,要访问这些地方的属性,您可以使用不同的 class:
import AccessDB from './AccessDB';
然后在某个地方,例如
(async () => {
try {
const places = await AccessDB.getPlaces();
var buffer = '';
for (place in places) {
buffer += places[place].name + '\n'
}
console.log(buffer)
} catch(e) {console.log(e)}
})()
使用 console.log 进行调试时必须小心,因为
1) console.log 如果一个接一个快速执行则跳过输出,例如如果你每次在上面的 for 循环中 console.log places[place].name
和
2) 如果你 console.log(places)
你看到的和你 console.log(database)
看到的一样,这非常令人困惑。您会期望看到 [Object object]、[Object object]...,您在使用 alert(places)
.
时会看到
我正在使用 WatermelonDB 作为我的应用程序的本地数据库。 我在 class AccessDB:
中有一个方法getPlaces()
static async getPlaces() {
const postsCollection = database.collections.get('places');
const allPosts = await postsCollection.query().fetch();
return allPosts;
}
使用带有异步和等待的 AccessDB.getPlaces()
调用 getPlaces()
。如何获取与查询匹配的结果?
可能是我理解的不够全面。但是您是否尝试将查询放入 query
方法
const allPosts = await postsCollection.query(Q.where('is_verified', true)).fetch();
另外不要忘记 getPlaces
是异步的,你需要 async\await
来获取 return 数据。
变量 allPosts
是一个包含所有 places
的数组。因此,要访问这些地方的属性,您可以使用不同的 class:
import AccessDB from './AccessDB';
然后在某个地方,例如
(async () => {
try {
const places = await AccessDB.getPlaces();
var buffer = '';
for (place in places) {
buffer += places[place].name + '\n'
}
console.log(buffer)
} catch(e) {console.log(e)}
})()
使用 console.log 进行调试时必须小心,因为
1) console.log 如果一个接一个快速执行则跳过输出,例如如果你每次在上面的 for 循环中 console.log places[place].name
和
2) 如果你 console.log(places)
你看到的和你 console.log(database)
看到的一样,这非常令人困惑。您会期望看到 [Object object]、[Object object]...,您在使用 alert(places)
.