小编cha*_*idt的帖子

Navitem中的React-Bootstrap链接项

我在使用react-router和react-bootstrap时遇到了一些样式问题.下面是代码的片段

import { Route, RouteHandler, Link } from 'react-router';
import AuthService from '../services/AuthService'
import { Button, Nav, Navbar, NavDropdown, MenuItem, NavItem } from 'react-bootstrap';

    <Nav pullRight>
      <NavItem eventKey={1}>
        <Link to="home">Home</Link>
      </NavItem>
      <NavItem eventKey={2}>
        <Link to="book">Book Inv</Link>
      </NavItem>
      <NavDropdown eventKey={3} title="Authorization" id="basic-nav-dropdown">
        <MenuItem eventKey="3.1">
          <a href="" onClick={this.logout}>Logout</a>
        </MenuItem>          
      </NavDropdown>  
    </Nav>
Run Code Online (Sandbox Code Playgroud)

这就是渲染时的样子.

在此输入图像描述

我知道这<Link></Link>是造成这种情况但我不知道为什么?我希望这是在线.

react-bootstrap react-router

78
推荐指数
6
解决办法
5万
查看次数

mongoose populate返回null数组

猫鼬在人口方面表现不佳.这是我的模特

var mongoose = require('mongoose'),
Schema = mongoose.Schema;

mongoose.connect(process.env.MONGO_URI);

var userSchema = new Schema({
  username: String,
  password: String,
  books: [{type: Schema.Types.ObjectId, ref: 'User'}]
  }
);

var bookSchema = new Schema({
  bookid: {type:String, unique:true, required:true},
  imgURL: String
});

module.exports.user = mongoose.model('User', userSchema);
module.exports.book = mongoose.model('Book', bookSchema);
Run Code Online (Sandbox Code Playgroud)

数据库看起来正确.

{ "_id" : ObjectId("56a17cd70a498fcc37cdbe60"), "username" : "test", "password" : "test", "books" : [ ObjectId("56a17d21d43dc32a3a9837de"), ObjectId("56a17ee5d43dc32a3a9837e4"), ObjectId("56a17f5dd43dc32a3a9837e6"), ObjectId("56a17f9fd43dc32a3a9837e8") ], "__v" : 4 }
Run Code Online (Sandbox Code Playgroud)

但是当我做一个填充时,我得到一个空的'书'阵列

users.findOne({'_id':userid}).populate('books').exec(function(err,data){
            if (err) return console.error(err);

            if(data){

            }
});
Run Code Online (Sandbox Code Playgroud)

一切都在那里它根本就不会填充.任何建议将不胜感激.

mongodb node.js

2
推荐指数
1
解决办法
1861
查看次数

仅在mongoose中的填充数组中删除文档objectid

我正在尝试使用填充查询从数组中删除objectids时非常困难.

这是我的架构

var userSchema = new Schema({
  username: String,
  password: String,
  books: [{type: Schema.Types.ObjectId, ref: 'Book'}]
  }
);

var bookSchema = new Schema({
  bookid: {type:String, unique:true, required:true},
  imgURL: String,
  fortrade: Boolean
});
Run Code Online (Sandbox Code Playgroud)

问题出在下面显示的查询中.当我只想删除books数组中的objectid时,它会删除删除书架构项.

users.findOne({'_id':userid}).populate('books').exec(function(usererr,userdata){
        if (usererr) return console.error(usererr);

        userdata.books.forEach(function(elm,idx){
            if(elm.bookid==_book.bookid){
                userdata.books[idx].remove();
            }
        })
    });
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js mongodb-query

2
推荐指数
1
解决办法
2032
查看次数