MongoDBとTextプロセスで新規に追加されました。 私は解析されたつぶやきを持つデータベースを持っています。 例:MongoDB/PyMongo配列から具体的な項目を削除する方法
{
"_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" : ""
}
私はツイートの単語をトークン化しました。 私の次のステップはストップワードを削除することです。
マイコード:
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
はストップワードを持つ配列です。 私はつぶやきの配列から項目を削除したいと思いますが、私のコードはで失敗:
raise WriteError(error.get("errmsg"), error.get("code"), error) pymongo.errors.WriteError: unknown top level operator: $eq
私は私の更新が正しいかどうかわからないんだけど、あなたは私を助けることができますか?あなたは$in
オペレータない$eq
を使用する必要があります
{
"_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" : ""
}
アップデートエラー:WriteError(error.get(「ERRMSG」)、error.get(「コード」を上げます)、エラー) pymongo.errors.WriteError:不明な最上位演算子:$ eq –