CNode

Mongoose关于unique 设置的问题

Jjonzlx发布于14 年前最后回复9 年前1 回复10672 浏览0 收藏
var mongoose = require('mongoose'),
	Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test');
var TestSchema = new Schema({
	user_sid: {
		type: String,
		unique: true,
	},
	user_Date: {
		type: Date,
		default: Date.now
	}
});
var model_name = 'taobao';

var TAOBAO = mongoose.model(model_name, TestSchema);
var taobao = new TAOBAO();
taobao.user_sid = 1;
taobao.save(function(err) {
	if (err) {
		console.log('save failed');
		return ;
	}
	console.log('save success');
	console.log(taobao.user_Date);
});

var taobao2 = new TAOBAO();
taobao2.user_sid = 1;
taobao2.save(function(err) {
	if (err) {
		console.log('save failed');
		return ;
	}
	console.log('save success');
	console.log(taobao2.user_Date);
});

我把user_sid 属性设置成了 unique , 虽然在存储的时候会进入报错,但是MongoDB中还是存在了2条数据。

有没有什么方法,可以保证第2条数据不存在于数据库中。(不选择保存前,find 一下)

查看回复

回复 (1)

D
daileimail#1·9 年前

user_sid: {type: String, index: {unique: true, dropDups: true}}

参与回复
登录后即可参与回复。登录