Javascript MongoDB插入记录问题
我有一个Mongo DB结构,看起来像这样:Javascript MongoDB插入记录问题,javascript,mongodb,express,Javascript,Mongodb,Express,我有一个Mongo DB结构,看起来像这样: db.users.find().pretty(); { "_id" : ObjectId("52b42b148ffa91f7ebbe8ebc"), "username" : "test", "password" : "test", "party" : [ "4988", "5037" ], "something" : [ "3571" ],
db.users.find().pretty();
{
"_id" : ObjectId("52b42b148ffa91f7ebbe8ebc"),
"username" : "test",
"password" : "test",
"party" : [
"4988",
"5037"
],
"something" : [
"3571"
],
"ludilo" : [],
}
我在我的应用程序和这个模块中使用express js连接到Mongo
如何将一个条目插入到会话中id为的用户的“某物”数组中
我试过这样的方法,但没有成功
var collection = db.collection('users');
collection.find({'_id':new ObjectID(req.user.id)}).toArray(function(err, items) {
console.dir(items);
}).insert({"something":"1234"});
您可以尝试以下代码:
collection.find({_id: new ObjectID(req.user.id)}).toArray(function(err, items) {
var doc = items[0];
doc.something.push('1234');
collection.update({_id: doc._id}, {$set: {something: doc.something}}, {safe: true}, function() {
//your next actions
});
});
我在本地机器上运行了这段代码,它似乎运行得很好您可以使用
db.users.update(
{ _id: ObjectId( "52b42b148ffa91f7ebbe8ebc" ) },
{ $push: { something: "1234" } }
)
或者,如果您不希望阵列中有任何重复项,可以使用$addToSet
db.users.update(
{ _id: ObjectId( "52b42b148ffa91f7ebbe8ebc" ) },
{ $addToSet: { something: "1234" } }
)
您是否尝试过
collection.update({u id:newobjectid(req.user.id)},{$set:{something:'1234'}})
?不确定是否该工作我不想更新,我想插入如果您只想插入,您不必使用\u id
<代码>\u id在每次插入时自动生成。这可能会有所帮助:@Djordje Petrovic我已经编辑了代码。请查看更改。希望这有帮助)