我想使用java接口将name为“张三”的人的“储蓄”字段对应的值修改为100.0主要语句如下:
String product = “储蓄”;
Double value = 100.0;
BSONObject matcher = new BasicBSONObject();
matcher.put("name", “张三”);
BSONObject modifier = new BasicBSONObject();
modifier.put(“产品1”, value);
this.dbCollection.upsert(matcher, modifier, null);
运行到最后一句的时候,会报出下面的错误:
Caused by: com.sequoiadb.exception.BaseException: errorCode:-6,Invalid Argument
Exception Detail:{ "name" : "张三"} { "储蓄" : 100.0} { }
at com.sequoiadb.base.DBCollection._update(DBCollection.java:1834) ~[sequoiadb.jar:?]
at com.sequoiadb.base.DBCollection.upsert(DBCollection.java:646) ~[sequoiadb.jar:?]
at bolt.DBAdapterBolt.execute(DBAdapterBolt.java:55) ~[classes/:?]
at backtype.storm.topology.BasicBoltExecutor.execute(BasicBoltExecutor.java:50) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.daemon.executor$fn__5694$tuple_action_fn__5696.invoke(executor.clj:690) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.daemon.executor$mk_task_receiver$fn__5615.invoke(executor.clj:436) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.disruptor$clojure_handler$reify__5189.onEvent(disruptor.clj:58) ~[storm-core-0.10.0.jar:0.10.0]
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:127) ~[storm-core-0.10.0.jar:0.10.0]
求教,这个应该怎么写?
从错误提示上看应该是参数错误
但是从变量的名字上猜测能得到的信息很有限。而官方文档上对于参数的说明就是复制了一下变量的名字,实在让人摸不到头脑。
求各位高手指点一二。