问题标签 [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.

0 投票
0 回答
101 浏览

json-api - 如何反序列化 js-data 中的空响应

js-data-http 中的find 方法似乎有一种特殊情况,如果itemfalse则它将拒绝承诺,否则返回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

这似乎是一种过于复杂的处理方式,我错过了更好的方法吗?

我的设置使用:

0 投票
0 回答
61 浏览

jsdata - js-data 观察数据变化

我正在尝试 js-data 3.0.0-rc.9。对于数据更改的事件侦听器以及如何使用它,我几乎没有任何疑问。

我以前可以

1) 使用 .on('change') 监听器监听对象中完成的数据更改。

我无法

1) 监听对象中的嵌套数据变化。

2)监听数组数据变化(添加、删除)

如果我做错了什么,请纠正我。

如果有关于这些更改的事件侦听器的完整示例,那将非常有帮助。

提前致谢。​</p>

0 投票
1 回答
68 浏览

angularjs - 在 JS 数据中发送请求正文 - RESTfull 服务

我想将请求正文作为 JSON 对象发送到 RESTful 服务

REST API 调用:

这是我的 DS.defineResource

我可以使用 JS 数据将 JSON 对象发送到 GET Request RESTful API 调用的任何示例

我要发送的 JSON 对象是:{'query': {'match_all': {}}}

谢谢你的帮助

0 投票
2 回答
83 浏览

angularjs - JSdata - 查询以匹配数组中的所有项目(MongoDB '$all' 关键字)

我正在使用 jsdata 为 Angular 1.5 Web 应用程序创建本地缓存。我用相应的关系对我的数据进行了建模,一切正常。我正在为查询而苦苦挣扎,我什至不确定这是否适用于 js-data:

假设我有一组带有 ID 和名称的标签

以及一些已分配标签的帖子:

然后我定义了一个标签和帖子数据存储,并在帖子上设置了一个 hasMany 关系:

当我查询帖子时,我看到我的标签出现在 embedded_tags 中,这很好。我现在想将我的帖子过滤到一组特定的标签:假设,我只想查看带有标签 2 和 3 的帖子,即帖子 2。

显然这不起作用:

这也不会(当然会引发重复的键警告):

在 MongoDB / Mongoose 中有一个关键字 $all 正是这样做的。有没有办法在 jsData 中进行这样的过滤,或者这是一个太多的数据库任务,应该在后端完成 - 我想避免,因为这或多或少是拥有本地缓存​​副本的全部意义, 正确的?

Plunkr:http ://plnkr.co/edit/M44V8js0BtZaK6Xq9CYt?p=preview

0 投票
1 回答
322 浏览

npm - 如何解决 js-data-angular 和 js-data-http 之间的依赖冲突

我目前正在做一个项目,该项目安装了 2 个 npm 包:
js-data-httpjs-data-angular.

问题是 js-data-http requiresjs-data@>=3.0.0和 js-data-angular requires js-data@>=2.0.0 <3。我查看了这两个包的所有版本,找不到任何与 js-data 的依赖项匹配的版本。

由于依赖冲突,我无法生成 npm-shrinkwrap,还有其他人经历过这个吗?

0 投票
0 回答
24 浏览

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]'

有没有人有建议或修复?谢谢!

0 投票
1 回答
35 浏览

mongodb - js-data mongodb 适配器仅从 findAll() 返回 _id

我正在使用js-datamongodb 适配器js-data-mongodb。我遇到了store.findAll只返回_id记录的问题。不返回其他字段。

这是我artworks在 mongoDB 中收藏的记录:

我的 js-data 存储定义的一部分:

我的应用程序中的代码:

输出: [ Record { _id: '59bb7ee069d99027f5219667' } ]

为了在响应中返回记录的所有字段,我缺少什么?

谢谢!

更新:

事实证明,如果我从映射器中删除我的模式定义,则这些字段会正确返回。这是我的模式定义。我不确定我要去哪里错了。

0 投票
1 回答
270 浏览

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例如通过)工作。

0 投票
1 回答
55 浏览

angular - js-data dataStore.find() 找不到缓存的结果

dataStore.find()每次都用相同的参数调用。当前的适配器是HttpAdapter. 但是,在初次调用之后,它似乎无法在缓存中找到数据并再次调用 API。即使数据实际上正在缓存中,也会发生这种情况,js-data 似乎无法找到它:

每次添加相同的记录

0 投票
1 回答
73 浏览

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-datajs-data-httpv3