node中mongoose操作数组类型字段

var mongoose = require('mongoose');


mongoose.connect('mongodb://localhost:27017/test');


var db = mongoose.connection;


db.on('error',function (err) {
  console.log('Mongoose connection error: ' + err);
});


db.once('open', function() {
  console.log('Mongoose connection connected!');
});


var Schema = mongoose.Schema;


var userSchema = new Schema({
    _id : String,
    tags: [{ _id: false, tagID: Number, optDate: Date, enable: Boolean }]
});


var User = mongoose.model('User', userSchema,'user');


//查询


User.aggregate({ $project: { _id : 1, tags: 1 } }).unwind('tags').exec(function (err, users) {
  if (err) return console.error(err);
  console.log(users);
});


//插入


User.update({ "_id" : "195861"}, { $push : { tags: {tagID : 1, optDate : Date("2016-08-12T15:21:02.930Z"), enable : false}}},function(err,result){
  if (err) return console.error(err);
  console.log(result);
  });


//删除


User.update({ "_id" : "195861"}, { $pull : { tags: {tagID : 2}}},function(err,result){
  if (err) return console.error(err);
  console.log(result);
  });


//更新


User.update(
{ 
     "_id" : "195861",
     "tags.tagID" : 1
},
{
     $set: {
          "tags.$" : {
          'tagID" : 333,
          "optDate" : new Date(),
          "enable" : true}
           }
},function(err,result){
  if (err) return console.error(err);
  console.log(result);
  });

猜你喜欢

转载自blog.csdn.net/xuweilinjijis/article/details/77044853
今日推荐