1

node.js を使用して mongodb にドキュメントを挿入および更新しようとしています。次のコードを使用して、ドキュメントを正常に挿入できます。

var obj = { jsonit: 
            { users: {},
              groups: {},
              meta: 
                  { id: 'daf09a36-b961-3db4-3144-aa19479c70c7'},
              name: 'John Doe',
              meta: undefined,
              loki: undefined
           }
Collection.insert( obj ).then( function insertCollectioncb(object) {
        obj = object;
      });

その後、どのキーが変更されるか、またはどの新しいキーが挿入されるかわからないため、ドキュメント全体を更新したいと考えています。次のコードを使用してドキュメントを更新しています。

var obj = jsonit: 
       { users: {},
         groups: {},
         meta: 
             { id: '0da70a1f-f5cd-0fd2-10c8-7aa421296057'} ,
        name: 'John Doe',
        creationDate: '2016-10-13T11:05:08.453Z',
        income: 1000,
        meta: null,
        loki: null 
      }
Collection.update( { _id: '57ff860b240e9d50a42ec53c' }, obj ).then( function updateBranchcb(object) {
        obj = object;
      });

mongo シェルでは正常に実行できますが、ノード js では実行できません。

4

1 に答える 1

0

これを試して

var obj = jsonit: 
       { users: {},
         groups: {},
         meta: 
             { id: '0da70a1f-f5cd-0fd2-10c8-7aa421296057'} ,
        name: 'John Doe',
        creationDate: '2016-10-13T11:05:08.453Z',
        income: 1000,
        meta: null,
        loki: null }, true
Collection.update( { _id: '57ff860b240e9d50a42ec53c' }, obj ).then( function updateBranchcb(object) {
        obj = object;
      });

問題は余分な閉じ中括弧です

 meta: 
    { id: '0da70a1f-f5cd-0fd2-10c8-7aa421296057'} },
于 2016-10-13T13:31:20.287 に答える