我有一个文档,其中另一个文档作为“ basicInfo”字段的值:
{
"personId": "5b45b3700fdd1a14c9f",
"basicInfo": {
"name": "dave",
"age": 25,
"personAddress": {
"city": "los angeles",
"street": "hollywood",
"streetNumber": 150,
"zipCode": 90210
},
"active": true
}
}
im尝试仅使用以下方式更新人员姓名:
db.people.findAndModify({
query: { "personId" : "5b45b3700fdd1a14c9f" },
update: {"$set":{"basicInfo":{"name":"new name"}}}
})
这正在替换基本信息...我想创建一种方法,该方法将发送带有用户要更改的字段的json,仅这些字段将被更改。.
答案 0 :(得分:0)
您需要使用.dot表示法来更新嵌套的java.lang.RuntimeException: Method putInt in android.os.BaseBundle not mocked. See http://g.co/androidstudio/not-mocked for details.
at android.os.BaseBundle.putInt(BaseBundle.java)
at com.fs.wfm.ui.EventPlannerListFragment.onItemClicked(EventPlannerListFragment.kt:90)
at com.fs.wfm.ui.EventPlannerListFragmentTest.onItemClicked(EventPlannerListFragmentTest.kt:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.mockito.internal.runners.DefaultInternalRunner$1.run(DefaultInternalRunner.java:68)
at org.mockito.internal.runners.DefaultInternalRunner.run(DefaultInternalRunner.java:74)
字段
name