Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB,使用字段作为子数组的值_Mongodb_Meteor - Fatal编程技术网

MongoDB,使用字段作为子数组的值

MongoDB,使用字段作为子数组的值,mongodb,meteor,Mongodb,Meteor,我有一个这样的结构 {_id : "id Assigned by Mongo" , mainPost: "some text", comments: [], commentsCount : 0} 我添加了一个新的评论 update({_id: documentID}, { $addToSet: { 'comments': {cText:text , ....}}}); 但是comments文档没有ID。mongo是否为该子文档分配了ID 在增加子文档之前,我还可以使用Commen

我有一个这样的结构

{_id : "id Assigned by Mongo" , 
 mainPost: "some text",
 comments: [],
 commentsCount : 0}
我添加了一个新的评论

 update({_id: documentID}, {  $addToSet: { 'comments': {cText:text , ....}}});
但是comments文档没有ID。mongo是否为该子文档分配了ID

在增加子文档之前,我还可以使用CommentScont作为子文档的ID,但我不知道如何在MongoDB中获得它的值

update({_id: documentID}, {  $addToSet: {
        'comments': {commentID: ??? how to get commentsCount value??? , cText:text }}})

不能让数据库自动为子文档分配id,但可以在应用程序中手动分配。本机MongoDB驱动程序公开函数
newObjectId()
,该函数使用数据库使用的相同算法生成ObjectId。您只需将其分配给插入的子文档的一个字段

$addToSet: { 'comments': { _id: new ObjectId(), cText:text, ....}}

顺便说一下:要更新文档并同时从数据库请求它,请在Meteor上使用。

它是Meteor.Collection.ObjectID(),非常感谢