我和kinvey后端有这个问题, 我正在尝试从我的收藏中获取数据,但它对我不起作用。这是我的代码:
var query = new $kinvey.Query();
query.equalTo('_id', '5909e8084c68b1ef74fa4efc');
var dataStore = $kinvey.DataStore.collection('User1Bases', $kinvey.DataStoreType.Network);
var stream = dataStore.find(query);
stream.subscribe(function onNext(entity) {
// ...
}, function onError(error) {
// ...
}, function onComplete() {
//...
});
请帮助我
答案 0 :(得分:1)
如果您运行已发布的代码,请考虑以下四点:
<script src="https://da189i1jfloii.cloudfront.net/js/kinvey-html5-sdk-3.10.2.min.js"></script>
&#13;
// Values shown in your Kinvey console
Kinvey.init({
appKey: '<your_appKey>',
appSecret: 'your_appSecret'
});
&#13;
var promise = Kinvey.User.login('<username>', '<password>')
.then(function() {
console.log ("You are logged in");
})
.catch(function(error) {
console.log (error);
});
&#13;
所以这一切看起来像这样:
// Initialize Kinvey
Kinvey.init({
appKey: '<your_appKey>',
appSecret: 'your_appSecret'
});
// Login with already registered user
var promise = Kinvey.User.login('<username>', '<password>')
.then(function() {
console.log ("You are logged in");
// Your query
var query = new $kinvey.Query();
query.equalTo('_id', '5909e8084c68b1ef74fa4efc');
var dataStore = $kinvey.DataStore.collection('User1Bases', $kinvey.DataStoreType.Network);
var stream = dataStore.find(query);
stream.subscribe(function onNext(entity) {
// Output of returning result
console.log (entity);
// ...
}, function onError(error) {
// ...
}, function onComplete() {
//...
});
})
.catch(function(error) {
console.log (error);
});
&#13;
现在有三种可能的返回集:
没有(如你所说) - &gt;代码中缺少/错误的东西(与你的相比)
空数组:您的查询找不到任何内容,调整搜索值
数组中的一个或多个条目 - &gt;一切都很好,你在寻找什么!
希望有所帮助!
答案 1 :(得分:0)
按_id
查询时,有一种内置方法:http://devcenter.kinvey.com/angular/guides/datastore#FetchingbyId
尝试切换到var stream = dataStore.findById('entity-id');
同时检查以确保您没有任何干扰查询的preFetch或postFetch BL。