2017-01-07 23 views
0

を更新し、そのうちの一つは、EntityAlchemyは 『それまで「のEntitySetは、今私は、たとえば、新しいフィールドを挿入する必要がある』である。MongoDBを挿入して、私はいくつかのフィールドを持っている私のMongoDBのコレクション内のフィールド

これは、それがどのように見えるかです今:。?

"EntitySet": [ 
    { 
      "Name" : "maka", 
      "EntityType" : "Person", 
      "Relevance" : 0.0, 
      "SentimentScore" : 0.0, 
      "CountInText" : 0 
    } 
] 

、それは私が唯一の既存のフィールドを更新する方法を見つけることができます

"EntitySet" : [ 
    { 
     "Name" : "maka", 
     "EntityType" : "Person", 
     "Relevance" : 0.0, 
     "SentimentScore" : 0.0, 
     "CountInText" : 0 
    } 
], 
"EntityAlchemy" : [ 
    { 
     "Name" : "DZ Bank", 
     "EntityType" : "Company", 
     "Relevance" : 0.0, 
     "SentimentScore" : 0.0, 
     "CountInText" : 0 
    } 
] 

アップデート後にこれらのようになります。誰かがこれを行う方法を助けることができる

答えて

1

さらに多くのキーと値のペアを追加するには$setを使用します。

構文は次のとおりです。

db.collection.update({query}, {$set: {key-value pairs}}); 

例:

db.coll1.update({_id:1}, 
    {$set: "EntityAlchemy" : [ 
    { 
     "Name" : "DZ Bank", 
     "EntityType" : "Company", 
     "Relevance" : 0.0, 
     "SentimentScore" : 0.0, 
     "CountInText" : 0 
     } 
    ]}); 
0

あなたはそれが存在しない場合はMongoは配列としてフィールドを作成し、配列のための$のプッシュを使用することができます。私はモンゴシェルでこれを行う方法を知って

var alchemy = { 
     "Name" : "DZ Bank", 
     "EntityType" : "Company", 
     "Relevance" : 0.0, 
     "SentimentScore" : 0.0, 
     "CountInText" : 0 
    }; 
db.getCollection('test').update({_id:1},{$push : {'EntityAlchemy' : alchemy}}); 
+0

、私の問題は、私はJavaでそれをしなければならないと私はそれを動作させることができないです。 – sp0030

+0

javaでもそれはできますか?どのドライバを使用していますか?使用できるSpringデータ更新コマンド –

+0

フィールドをjavaに挿入する方法を知りました。しかし、すべてのレコードに別の配列を持つように、新しいフィールドをすべてのレコードに挿入する必要もあります。すなわち、レコード1 "EntityAlchemy":[ { "名前": "DZ銀行"、 "EntityType": "会社"、 "妥当性":0.0、 "SentimentScore":0.0、 "CountInText":0 }、次いで2 "EntityAlchemy" 記録:[ { "名前": "DZ"、 "EntityType": "何"、 "妥当性":1.0、 "SentimentScore":0.0、 が "CountInText":0 }一度に異なるものを挿入することは可能ですか? – sp0030

関連する問題