私はノードJsに新しいので、新しいオブジェクトを 配列に更新(挿入)することが困難です。ここで新しいオブジェクトをmongoose nodejsの配列に追加または追加する
はスキーマです:
var Schema = new mongoose.Schema({
name: String,
ips: [{
ip: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Ip'
}
}]
});
私はそうのようなIPS配列に新しい行を追加しようとしています:
IPスキーマ:
var IpSchema = new mongoose.Schema({
ip: String,
objects: [{
object:{
type: mongoose.Schema.Types.ObjectId,
ref: 'object'
}
}]
});
var tmpIp = new Ip({
ip: "5.5.5.5",
objects:
[{object:obj._id}]
});
tmpIp.save();
DB.update({name: 'xxxx'},{$push: {ips:{tmpIp}}},{upsert:true},function(err){
if(err){
console.log(err);
}else{
console.log("Successfully added");
}
});
では(のみ_id
が作成された実行します例3行)。これに加えて、作成されたIDはIPSテーブル上の実際のip
とは関係ありません。
"ips" : [
{
"ip" : ObjectId("57d12ddf16a6f6fc175fbfb5"),
"_id" : ObjectId("57d12ddf16a6f6fc175fbfbc")
},
{
"ip" : ObjectId("57d12ddf16a6f6fc175fbfb7"),
"_id" : ObjectId("57d12ddf16a6f6fc175fbfbb")
},
{
"_id" : ObjectId("57d12defd5cc02b810601bb4")
}
]
私が到達しようとしている結果は、最初の2行のようなものです: ip
- 作成したIPオブジェクトのオブジェクトID _id
だけでなく_id
IPコレクションのコンテンツを表示します。 tmpIpオブジェクトの作成方法を確認する必要があります。 – notionquest
{ "_id":のObjectId( "57d12ddf16a6f6fc175fbfb5")、 "IP": "1.1.1.1"、 "オブジェクト":[ { "オブジェクト" のObjectId( "57d12ddf16a6f6fc175fbfb2")、 "_id": ObjectId( "57d12ddf16a6f6fc175fbfb6") } ]、 "__v":0 } – user1874773