Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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
Javascript 如何在数组mongoDB中追加_Javascript_Database_Mongodb_Append - Fatal编程技术网

Javascript 如何在数组mongoDB中追加

Javascript 如何在数组mongoDB中追加,javascript,database,mongodb,append,Javascript,Database,Mongodb,Append,在搜索特定对象后,如何在数组中追加内容,数据库如下所示: { "_id": { "$oid": "608a0f3628588a3daca019c6" }, "username": "paul", "password": "cacavaca", "question": "q1

在搜索特定对象后,如何在数组中追加内容,数据库如下所示:

{
    "_id": {
        "$oid": "608a0f3628588a3daca019c6"
    },
    "username": "paul",
    "password": "cacavaca",
    "question": "q1",
    "answer": "cutu",
    "friends": [mir],
    "groups": []
}
{
    "_id": {
        "$oid": "608a0f4328588a3daca019c7"
    },
    "username": "mir",
    "password": "123456",
    "question": "q1",
    "answer": "cutu",
    "friends": [],
    "groups": []
}
我想通过用户名:paul搜索对象,并在friends数组中追加alex,我已经尝试过了,但不是wokring:

MongoClient.connect(uri, function(err, db) {
        var dbc = db.db("chat");
        dbc.collection("accounts").find({username: { $eq: user}}).update( [
            {
              $push: {
                friends:alex
              }
            }

        ])
        db.close();
    });

这是正确的方法:

var user = request.body.user;
var new_friend = request.body.new_friend;

MongoClient.connect(uri, function(err, db) {
        var dbc = db.db("chat");
        dbc.collection("accounts").update(
        {username: { $eq: user}},
            {
              $push: {
                friends:new_friend
              }
            }
        )
        db.close();
    });

我认为与其使用
.find()
方法,不如像这样使用
updateOne()

MongoClient.connect(uri, function(err, db) {
    var dbc = db.db("chat");
    dbc.collection("accounts").updateOne({username: {$eq: user}}, {
       $push: {
           friends: alex
        }
    });
    db.close();
});
假设
user
alex
是上面定义的变量

另外,可能您只能编写
{username:user}
,而不需要
$eq
,但这取决于您的代码和逻辑