问题标签 [jsdata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json-api - 如何反序列化 js-data 中的空响应
js-data-http 中的find 方法似乎有一种特殊情况,如果item
为false则它将拒绝承诺,否则返回item
。我的问题是一些虚假值(0
, null
, ''
)是来自我的 API 的有效响应。
例如,如果我要求一个尚未设置的关系,那么 API 会以null
包装在 jsonapi 信封中的数据进行响应。这遵循用于获取空关系的jsonapi 规范:
我正在使用js-data-jsonapi库来帮助 js-data 和 jsonapi 相处。在该库中,DeSerializer解开 jsonapi 信封。此时 js-data 重新负责,解包后的数据null
是 find promise resolve 方法中的值,item
这会导致 js-data-http 拒绝 promise。
现在我正在利用js-data-jsonapi 中的一个特殊情况将空数据反序列化为一个数组,因为在 JS 数组中是真实的。但是我必须对 hasOne 关系的检测进行特殊处理,现在必须将空数组重新转换为 null。
这似乎是一种过于复杂的处理方式,我错过了更好的方法吗?
我的设置使用:
jsdata - js-data 观察数据变化
我正在尝试 js-data 3.0.0-rc.9。对于数据更改的事件侦听器以及如何使用它,我几乎没有任何疑问。
我以前可以
1) 使用 .on('change') 监听器监听对象中完成的数据更改。
我无法
1) 监听对象中的嵌套数据变化。
2)监听数组数据变化(添加、删除)
如果我做错了什么,请纠正我。
如果有关于这些更改的事件侦听器的完整示例,那将非常有帮助。
提前致谢。</p>
angularjs - 在 JS 数据中发送请求正文 - RESTfull 服务
我想将请求正文作为 JSON 对象发送到 RESTful 服务
REST API 调用:
这是我的 DS.defineResource
我可以使用 JS 数据将 JSON 对象发送到 GET Request RESTful API 调用的任何示例
我要发送的 JSON 对象是:{'query': {'match_all': {}}}
谢谢你的帮助
angularjs - JSdata - 查询以匹配数组中的所有项目(MongoDB '$all' 关键字)
我正在使用 jsdata 为 Angular 1.5 Web 应用程序创建本地缓存。我用相应的关系对我的数据进行了建模,一切正常。我正在为查询而苦苦挣扎,我什至不确定这是否适用于 js-data:
假设我有一组带有 ID 和名称的标签
以及一些已分配标签的帖子:
然后我定义了一个标签和帖子数据存储,并在帖子上设置了一个 hasMany 关系:
当我查询帖子时,我看到我的标签出现在 embedded_tags 中,这很好。我现在想将我的帖子过滤到一组特定的标签:假设,我只想查看带有标签 2 和 3 的帖子,即帖子 2。
显然这不起作用:
这也不会(当然会引发重复的键警告):
在 MongoDB / Mongoose 中有一个关键字 $all 正是这样做的。有没有办法在 jsData 中进行这样的过滤,或者这是一个太多的数据库任务,应该在后端完成 - 我想避免,因为这或多或少是拥有本地缓存副本的全部意义, 正确的?
npm - 如何解决 js-data-angular 和 js-data-http 之间的依赖冲突
我目前正在做一个项目,该项目安装了 2 个 npm 包:
js-data-http
和js-data-angular
.
问题是 js-data-http requiresjs-data@>=3.0.0
和 js-data-angular requires js-data@>=2.0.0 <3
。我查看了这两个包的所有版本,找不到任何与 js-data 的依赖项匹配的版本。
由于依赖冲突,我无法生成 npm-shrinkwrap,还有其他人经历过这个吗?
overriding - JS-Data 用 ds.save 覆盖端点
我正在尝试使用 DS.save 进行修补,但我想覆盖端点,而 js-data 似乎不允许我这样做。这是代码行:
DS.save('reviews', vm.review, {endpoint : 'reports/' + vm.report.id + '/reviews'}, {changesOnly: true})
相反,端点保持为 'reviews/[vm.review.id]'
有没有人有建议或修复?谢谢!
mongodb - js-data mongodb 适配器仅从 findAll() 返回 _id
我正在使用js-data
mongodb 适配器js-data-mongodb
。我遇到了store.findAll
只返回_id
记录的问题。不返回其他字段。
这是我artworks
在 mongoDB 中收藏的记录:
我的 js-data 存储定义的一部分:
我的应用程序中的代码:
输出:
[ Record { _id: '59bb7ee069d99027f5219667' } ]
为了在响应中返回记录的所有字段,我缺少什么?
谢谢!
更新:
事实证明,如果我从映射器中删除我的模式定义,则这些字段会正确返回。这是我的模式定义。我不确定我要去哪里错了。
javascript - js-data.io 作为 Vue.js 存储
我想使用js-data 3.0.1 作为我的 Vue.js 2.4.2 SPA 的存储。一切都像一个魅力,但不幸的是我不能让反应数据绑定工作。
我已经尝试过vue-js-data,它似乎被破坏了。
以下示例不起作用。如果我更改文本字段,文本将不会更新。但是,如果我用普通的旧 JS 对象替换 js-data 记录,它会像预期的那样工作。
user.vue
:
我很感谢任何建议如何使数据绑定(v-model
例如通过)工作。
javascript - JSData `where` 不适用于 `dataStore.findAll()`
如果我打电话在dataStore.findAll(mapperName, params, opts)
哪里params
我希望得到的查询字符串是?cc=test
. 但是,它似乎将整个对象编码为结果查询字符串是?where=%7B%22cc%22:%7B%22%3D%3D%3D%22:%22test%22%7D%7D
. JSData 的查询功能是否不能与 http 适配器一起使用?
这是开启js-data
和js-data-http
v3