sql >> データベース >  >> NoSQL >> MongoDB

マングース文字列からObjectIDへ

    デフォルトのエクスポートを使用する場合:

    import mongoose from 'mongoose';
    

    その後、mongoose.Types.ObjectId 動作します:

    import mongoose from 'mongoose';
    console.log( mongoose.Types.ObjectId('578df3efb618f5141202a196') );
    

    編集: 完全な例([email protected]でテスト済み ):

    import mongoose from 'mongoose';
    
    mongoose.connect('mongodb://localhost/test');
    
    const Schema = mongoose.Schema;
    
    var comments = new Schema({
        user_id:  { type: Schema.Types.ObjectId, ref: 'users',required: [true,'No user id found']},
        post: { type: Schema.Types.ObjectId, ref: 'posts',required: [true,'No post id found']}
    });
    
    const commentsModel = mongoose.model("comments", comments);
    
    let comment = new commentsModel;
    let str = '578df3efb618f5141202a196';
    comment.user_id = str;
    comment.post = str;
    comment.save().then(() => console.log('saved'))
                  .catch(e => console.log('Error', e));
    

    データベースはこれを示しています:

    mb:test$ db.comments.find().pretty()
    {
        "_id" : ObjectId("578e5cbd5b080fbfb7bed3d0"),
        "post" : ObjectId("578df3efb618f5141202a196"),
        "user_id" : ObjectId("578df3efb618f5141202a196"),
        "__v" : 0
    }
    


    1. C#を使用したMongoDB GridF、画像などのファイルを保存する方法は?

    2. $ project:1つのステージで式の結果のプロパティにアクセスすることは可能ですか?

    3. 1対1および1対多の参照の削除-マングース

    4. MongoDBドキュメントからフィールドを削除する方法($ unset)