Ich versuche, mit der folgenden Abfrage ein Dokument mit einem passenden verschachtelt Attribute zu aktualisierenMongoError: Das gepunktete Feld .. ist nicht gültig für die Lagerung
upsertByCommentThreadId: function(commentThread) {
return CommentThreads.update({
'youtube.commentThreadId': commentThread.youtube.commentThreadId
},
{
$set: commentThread
},
{
upsert: true
}
);
}
Schema:
Schema({
youtube: {
type: Object
},
'youtube.etag': {
type: String
},
'youtube.commentThreadId': {
type: String,
index: 1
},
...
Aber ich ein Fehler
Exception while invoking method ... MongoError: The dotted field 'youtube.commentThreadId' in 'youtube.commentThreadId' is not valid for storage.
ich bin nicht sicher, wie kann ich sonst noch verschachtelte Attribute abfragen, wenn nicht durch Punktnotation
Hat Ihr commentThread das gesamte Dokument, einschließlich der _id? $ set ersetzt den Wert eines Felds durch einen bestimmten Wert, wenn Sie die gesamte Dokumentprüfung ersetzen möchten. Ersetzen Sie einen Dokumentabschnitt in http://docs.mongodb.org/manual/tutorial/modify-documents/ – bharani
Haben Sie eine gefunden? Um es herum? Das gleiche Problem haben. Es scheint, dass Meteor 1.2 ein [fix] (https://github.com/meteor/meteor/commit/e02bf0fb30ed67e4f45417986a548b04de802e1d) dafür haben wird. – jiku
Oder ersetzen zu ** . ** – user956584