0

主キーのないjs-data ( http://www.js-data.io/docs/dsdefaults#idattribute ) で管理したいログ データがあります。

キーを生成する必要がありますか? または pk なしでデータへのアクセスを許可するように js-data を構成できますか?

pk を生成するための js-data を取得できますか? このデータを永続化する必要はありません。js-data 機能を使用してクエリを実行したかっただけです。

例:

  $provide.factory('syslog', ['DS', function(DS) {
    return DS.defineResource({
      name: 'log'
    });
  }]);

  $provide.factory('LoggingServices', ['$q', '$filter', '$log', 'syslog', function($q, $filter, $log, syslog) {

    function injectMockLogs () {
      syslog.inject({
        'messages': [
          {
            'time':'2016-03-29 09:32:43',
            'severity':'INFO',
            'user':'carolyn',
            'auth_type':'RADIUS',
            'method':'UI',
            'event_id':1107,
            'message':'In make_radius_request: Making radius request for user carolyn',
            'full_message':'2016-03-29 09:32:44 "info" ns [1107]: RADIUS auth:In continue_radius_auth: Starting RADIUS authentication for user carolyn @ 10.217.22.20'
          },{
            'time':'2016-03-29 09:32:44',
            'severity':'INFO',
            'user':'carolyn',
            'auth_type':'RADIUS',
            'method':'UI',
            'event_id':1107,
            'message':'In make_radius_request: Making radius request for user carolyn',
            'full_message':'2016-03-29 09:32:44 "info" ns [1107]: RADIUS auth:In make_radius_request: Making radius request for user carolyn'
          },{...
4

1 に答える 1

2

データをストア (ID マップ) に挿入するには、データに何らかの一意の識別子が必要です。項目に主キーが必要なくてもかまいませんが、JSData には必要です。

2.9.0 の時点で、temporary: trueオプションを渡すinjectと、注入されるアイテムごとに ID が生成されますが、現在の回避策は適切な方法です。

于 2016-04-02T01:53:34.110 に答える