2

現在のドキュメントに新しいフィールド (将来的に $push が入力される配列) を追加しようとしていますが、エラーが発生していますupdate failed: MongoError: Cannot apply $push/$pushAll modifier to non-array

Meteor.users コレクションに取り組んでいます。

実行されたコードは次のとおりです。

var user = Meteor.userId();
Meteor.users.update({_id:user}, {$set: {"newfield": ["some data"]}});
4

2 に答える 2

5

これは、ユーザー オブジェクトのルート フィールドを変更することが想定されていないために発生します。ドキュメントから:

デフォルトでは、現在のユーザーのusernameとがクライアントemailsprofile公開されます。[...]で追加のフィールドを公開できます

だからあなたはできる

Meteor.users.update(user, {$set: {"profile.newfield": ["some data"]}});

ただし、に保存するものを制限する必要があることに注意してください。profile

于 2015-02-10T22:21:26.807 に答える