Im nouveau dans MongoDB et processus de texte. J'ai une base de données avec des tweets analysés. Exemple:MongoDB/PyMongo Comment supprimer un élément concret du tableau
{
"_id" : ObjectId("59b24aa1a0c99b0b85732406"),
"idt" : "906060929829183489",
"tweet" : [
"RT",
"@moocowpong1",
":",
"@whitequark",
"isn't",
"the",
"cloud",
"just",
"your",
"data",
"relocating",
"to",
"san",
"francisco"
],
"createdDate" : ISODate("2017-09-08T07:45:34Z"),
"userName" : "Fiora Aeterna",
"userLocation" : "San Jose, CA",
"geo" : null,
"geoCoord" : null,
"Lang" : "en",
"retweet_count" : 0,
"sentimiento" : "",
"score_tag" : ""
}
Je tokenisé les mots dans le tweet. L'étape suivante consiste à supprimer les mots vides.
Mon code:
for doc in tweets.find({},{'tweet': 1}).limit(1):
print (doc)
for term in (doc['tweet']):
if set(stop).intersection(term.split()):
print ("Found One")
tweets.update({ 'idt': doc['_id'] }, { '$pull': { 'tweet': { '$eq': term } } })
stop
est un tableau avec des mots vides. Je voudrais supprimer l'élément de la série de tweets, mais mon code échoue avec:
raise WriteError(error.get("errmsg"), error.get("code"), error) pymongo.errors.WriteError: unknown top level operator: $eq
Je ne sais pas si ma mise à jour est correcte, pouvez-vous me aider?
Mon objetif final est le registre comme (similaire):
{
"_id" : ObjectId("59b24aa1a0c99b0b85732406"),
"idt" : "906060929829183489",
"tweet" : [
"@moocowpong1",
"@whitequark",
"cloud",
"just",
"data",
"relocating",
"san",
"francisco"
],
"createdDate" : ISODate("2017-09-08T07:45:34Z"),
"userName" : "Fiora Aeterna",
"userLocation" : "San Jose, CA",
"geo" : null,
"geoCoord" : null,
"Lang" : "en",
"retweet_count" : 0,
"sentimiento" : "",
"score_tag" : ""
}
Mise à jour l'erreur: augmenter WriteError (error.get (« errmsg »), error.get (« code »), erreur) pymongo.errors.WriteError: opérateur de niveau supérieur inconnu: $ eq –