Mam problemy zastanawianie się, co oznacza ten błądbłąd MongoDB tajemnicze LEFT_SUBFIELD obsługuje tylko obiektu: Statystyki nie: 6
LEFT_SUBFIELD obsługuje tylko obiektu: statystyk nie: 6
Wydaje się dzieje, kiedy wstawiam do mojej kolekcji profili. Używam mongoose.js. Wstawiamy liczbę postów w każdej kategorii we właściwości statystyki, np.
stats: {category:count, category2: count2}.
Oto mój schemat
var ProfileSchema = new Schema({
uname: {
type: String,
required: true,
index: true,
unique: true
},
fname: String,
lname: String,
stats: {
type:{},
"default":{},
required:true
},
created: {
type:Date,
required:true,
"default":Date.now
}
});
myślę, że to może się dziać, gdy jestem aktualizowania statystyk obiekt $ inc liczy więc, że statystyki mogą wyjdzie coś takiego aktualizacji
db.status.update({_id:xyz}, {$inc: { stats.foo : 1, stats.bar:1}})
Oto mój kod mangusty
var tags = ["comedy", "action", "drama"];
//also adding the postId to the posts collection of profile
var updateCommand = {$push: {posts: post._id}};
var stats = {};
for (var i = tags.length - 1; i >= 0; i--){
stats["stats." + tags[i].toString()] = 1;
};
updateCommand.$inc = stats;
Profile.update(
{uname: uname},
updateCommand,
{safe:true, upsert:true},
callback
);
To właśnie dzięki za post! Miałem drapanie głowy przez jakiś czas, trochę nieprzyjemne do pracy. – Aktau