MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoError nieznany operator najwyższego poziomu:$set

Problem polega na tym, że używasz składni dla niewłaściwej metody aktualizacji . Powinieneś używać tej metody składnia, zakładając, że scores jest dokumentem.

return scores.updateQ({
    $set: { "partId": partId, "activityId": activityId},
    $unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });

Ponadto w Mongoose używa $set domyślnie, więc powinno to być równoważne:

return scores.updateQ({
    partId: partId,
    activityId: activityId,
    $unset: { topicType: '', topicId: '', courseId: ''}
},
{ strict: false });

EDYCJA:

Zakładam, że scores jest dokumentem (instancją Modelu):

var schema = new Schema({});
var Scores = mongoose.model('Scores', schema);
var scores = new Scores({});

Oba Scores.update i scores.update istnieją, ale składnia jest inna, co może być przyczyną błędu. Oto różnica:

// Generic update
Scores.update({ _id: id }, { prop: 'value' }, callback);

// Designed to update scores specifically
scores.update({ prop: 'value' }, callback);

UWAGA:

Jeśli te założenia nie są poprawne, uwzględnij w swojej odpowiedzi więcej kontekstu, na przykład sposób, w jaki tam dotarłeś.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongo - nie można połączyć się z serwerem 127.0.0.1:27017

  2. zapytanie mongoose:znajdź obiekt według id w tablicy

  3. Jak naprawić {document}.Id nie jest obsługiwany błąd

  4. Jak MongoDB umożliwia uczenie maszynowe

  5. Sterownik PHP72 MongoDB z Homebrew na OSX