javascript - MongoDB插入记录问题

标签 javascript mongodb express

我有一个 Mongo DB 结构,看起来像这样:

db.users.find().pretty();
{
    "_id" : ObjectId("52b42b148ffa91f7ebbe8ebc"),
    "username" : "test",
    "password" : "test",
    "party" : [
        "4988",
        "5037"
    ],
    "something" : [
        "3571"
    ],
    "ludilo" : [],


}

我在我的应用程序和此模块中使用express js来连接到Mongo https://npmjs.org/package/mongodb ,

如何将一个条目插入到具有从 session 中获取的 id 的用户的“something”数组中。

我尝试过类似的方法,但没有成功

var collection = db.collection('users');
         collection.find({'_id':new ObjectID(req.user.id)}).toArray(function(err, items) {
            console.dir(items);
          }).insert({"something":"1234"});

最佳答案

您可以将值$push到数组中

db.users.update(
    { _id: ObjectId( "52b42b148ffa91f7ebbe8ebc" ) },
    { $push: { something: "1234" } }
)

或者,如果您不想在数组中出现任何重复项,则可以使用 $addToSet

db.users.update(
    { _id: ObjectId( "52b42b148ffa91f7ebbe8ebc" ) },
    { $addToSet: { something: "1234" } }
)

关于javascript - MongoDB插入记录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187304/

相关文章:

javascript - 无法更新状态

javascript - 如何使用 AngularJS Controller 在 $http.get 中指定 MongoDB 键/值参数?

javascript - MongoDB查找包含括号的字符串

node.js - Express.js req.body 未定义

node.js - 我们可以在 Sails.js 中设置单个模型属性的 Blueprint "populate"属性吗?

javascript - 如何动态要求 momentjs 语言环境

javascript - JavaScript 与 Java 中的动画图像对比

javascript - angularjs.检查表格中是否至少选中了一个复选框

javascript - 如何使用javascript将字符串中的电话号码和时间分开?

mongodb - 为 mongodb 分片标签定义动态范围