所以我有一个选择题列表,我想存储,每次用户回答相同的问题,他对这个问题的答案。所以我想创建一个文档每个用户和他的回答历史每个问题。我做了一个问题数组,其中包含了questionId和一个答案数组(“ans”和他的答案。所以我写了一个基本代码,在这里我为问题1添加了他的第一个答案“a”,现在我想用答案“b”更新这个文档。
$m = new MongoClient();
$db = $m->test;
$answers = $db->answers;
$answers->insert([ 'userId' => 1, 'questions' => [[ 'questionId' => '1', 'ans' => ['a'] ]]]);
$answers->update(array('userId' => 1, 'questions.questionId' => '1'),
array('$push' => array('questions' => array('ans' => 'b'))));
_id:5958c3e1e87cbf643400734d
userId:1
questions:Array
0:Object
questionId:"1"
ans:Array
0:"a"
1:questionId
ans:"b"
我知道这是一个非常基本的问题,但我已经搜索了其他问题,但我无法得到语法工作。我认为问题在于找到了正确的文档,但我不知道如何将其添加到现有的ans数组中,而不是创建一个新的ans字段。谢谢你的帮助。
好的,我终于找到了解决办法。我有用处。和$符号
$answers->update(array('user id'=>1,'questions.questionid'=>'1'),array('$push'=>array('questions.$.ans'=>'try2'));
这只是出于好奇,而我当时正在练习数组插入以图好玩。下面的代码中有一个问题,为什么给我一些垃圾值,但将其设置为就解决了这个问题。逻辑上他们也是这样做的,但我只是想知道它是否与L值和R值引用有关?
问题内容: 看一下这段代码: 我正在寻找这样的东西: 有功能可以做到这一点吗?(因为这样行不通) 问题答案: 不,关联数组没有等效项,因为无法确定下一个键。 您必须使用
问题内容: 我希望能够将bigints数组写入要用于Go历史记录的表中。不幸的是,我不能,当我这样做时`sql: converting Exec argument 这是我要插入的表的结构: 问题答案: 使用自定义类型实现database / sql / driver.Valuer:
问题内容: 我有两个numpy数组: 我试图得到的是这样的: 我的方法不是很像Numpy,需要针对非常大的数组进行改进(摆脱for循环): 在Numpy中执行此操作的最佳方法是什么?这样生成myarray然后对其进行操作会更好吗? 问题答案: 这种广播技巧:
我正在尝试将key+value推入具有其唯一值的数组中。 像这样尝试: console.log输出给出正确的值: 我要做的是将键和值推入输入字段,这样输入字段将是:username:password: 不需要硬编码,因为我数组中的每个对象都有不同的键和值。
问题内容: 我发现了关于将两个数组列表交织在一起的类似问题,但在PHP中却是如此。我在面试中也被问到了这个问题,但无法解决,回到SO看看是否已经解决,但我只能找到这篇 论文 那么是否有任何指向伪代码或方法定义的指针? Big(O)限制:O(n)-时间成本和O(1)-空间成本 示例: a [] = a1,a2,…, a b [] = b1,b2,…,bn 将数组列表重新排列为a1,b1,a2,b2,