我遇到了一些麻烦mongoDB/mongoose和node.js。我习惯于SQL,并且mongoDB很难!这是我的模式:MongoDB和mongoose:如何添加一个对象,如果它不存在
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
var itemSchema= mongoose.Schema({
item_info : {
user_id : Number,
location : String,
item_id : Number,
title : String
},
item_hist : {
user_id : Number,
location : String,
item_id : Number,
founddate : String
}
});
module.exports = mongoose.model('item', itemSchema);
而且我可以这样做,添加一个新的项目:
var item= require('./app/models/item');
var item= new item();
item.item_info.user_id = 12345;
item.item_info.location = 'This address';
item.item_info.item_id = 4444;
item.item_info.title = 'New item';
item.save(function(err)
{
if (err) throw err;
});
我想能够做的是说:“找一个项目与item_info.item_id 5555如果它存在,什么都不做,如果它不存在,那么将它添加到数据库中。“我已经阅读了很多mongodb和mongoose文档,但是在使用点符号和通过nodejs而不是命令行mongodb访问之间,我仍然无法弄清楚如何执行此操作。 SQL似乎更容易!
你尝试使用{UPSERT:真正}的选择吗? –
不 - 我对此一无所知 – garson